News for hackers. Stuff that matters.
Re:Pyspread – The Most Pythonic Spreadsheet by frognumber on Tuesday May 07, 2024 @08:13AM (#40284560)
This looks a very good idea.

This would be an ideal place for a semi-technical user to contribute documentation. Good starter open-source contribution. Without that, it's hard to figure out if it would work for me, let alone give feedback.

Re:Pyspread – The Most Pythonic Spreadsheet by sevagh on Tuesday May 07, 2024 @08:26AM (#40284660)
Every dev here loves throwing unglamorous volunteer work to non-developers, acting as if it's a favor.
Re:Pyspread – The Most Pythonic Spreadsheet by JulianChastain on Tuesday May 07, 2024 @09:47AM (#40285396)
Some of the motivation for this comes from how often devs want to contribute to open source but are intimidated by how difficult the barrier of entry is, particularly for large projects. It's surprisingly hard to find a good list of projects that a beginner or even intermediate programmer can substantially contribute to. The ones that do exist tend to have the low hanging fruit plucked pretty quickly.
Re:Pyspread – The Most Pythonic Spreadsheet by frognumber on Tuesday May 07, 2024 @05:37PM (#40291808)
A few points:

- Most of my career was made by being the author of one popular open source platform which happened to do well.

- I've recruited people based on open-source contributions. If I want an expert in [X], finding someone who contributed to [X] is a good bet.

- The flip side is I've made (minor, helpful) contributions to many projects in part for exposure. My name is in the commit list of many systems in domains where I have wanted to work.

- Many mid-sized contributions look good on a resume, especially for a junior developer. Indeed, I've made one case to promote someone based, in part, on contributing to a library we were using (even if only tangentially).

If you want a job in e.g. network security, find something in a firewall, anonymzing proxy, packet sniffer, or whatnot, and make a PR. It's often quick, easy, and helpful. A corollary is you do actually learn a lot about a system by contributing.

I have no axe to grind here, but I think the cynicism is unwarranted.

Re:Pyspread – The Most Pythonic Spreadsheet by sevagh on Tuesday May 07, 2024 @06:14PM (#40292179)
I love open source. My cynicism isn't about open-source, but about the OP's first post being "these docs suck, snaps fingers maybe one of you non-devs can work on it."
Re:Pyspread – The Most Pythonic Spreadsheet by frognumber on Tuesday May 07, 2024 @06:36PM (#40292332)
Good life lesson: You don't know until you ask.

That's more a salesperson mantra than SWE, where for every 10-100 people you ask, someone buys something. However, I've raised money many times simply by shamelessly asking.

Second good life lesson: Don't assume things about others.

People who make $1/day, $10/day, $100/day, $1000/day, $10,000/day, etc. have fundamentally different priorities and motivations. Ditto on many other axes. Good synergies are leveraged working across such differences.

Re:Pyspread – The Most Pythonic Spreadsheet by blitzar on Tuesday May 07, 2024 @08:31AM (#40284703)
"You will be paid in exposure" - this is where the venn diagram for devs & social media influencers intersect.
Re:Pyspread – The Most Pythonic Spreadsheet by jjmarr on Tuesday May 07, 2024 @09:08AM (#40285001)
Except when you contribute to open-source, you typically have a legal document (the licence) that explains how the exposure will be paid.
Re:Pyspread – The Most Pythonic Spreadsheet by psychoslave on Tuesday May 07, 2024 @08:51AM (#40284860)
So what, who want raw wild naked large exposure? If you don’t get an army of free PR specialists, lawyers and body guards to protect you and your beloved ones h24 every single day for the rest your lives, it’s an obviously net negative situation.
Re:Pyspread – The Most Pythonic Spreadsheet by resource_waste on Tuesday May 07, 2024 @10:17AM (#40285745)
>Every dev here loves doing volunteer work as a favor.

Devs are expected to contribute to FOSS, write free educational blog posts about technology, and fix your friends computer!

Ask a doctor why something hurts and they tell you to come into their office and insurance will bill you.

Re:Pyspread – The Most Pythonic Spreadsheet by sevagh on Tuesday May 07, 2024 @01:41PM (#40288976)
This sounds made up tbh. I mean, I agree it's common to feel this "pressure" but the day you discover the pressure isn't real is the day you level up. And I charge plenty for fixing peoples' software pains.

I do open-source and write blog posts to satisfy my own desire to publicize my work, and for exposure, and to put my skills on display. Not as a race to the bottom. I could have had a career without those things.

Re:Pyspread – The Most Pythonic Spreadsheet by photochemsyn on Tuesday May 07, 2024 @09:59AM (#40285538)
Re:Pyspread – The Most Pythonic Spreadsheet by rbanffy on Tuesday May 07, 2024 @08:15AM (#40284565)
The Gods have listened to me!
Re:Pyspread – The Most Pythonic Spreadsheet by kwhitefoot on Tuesday May 07, 2024 @08:26AM (#40284656)
I tried to install, and discovered yet again why I fell out of love with Python.

Executing:

pip3 install -r requirements.txt

gave this error:

" Traceback (most recent call last): File "/tmp/tmprhazpypn", line 126, in prepare_metadata_for_build_wheel hook = backend.prepare_metadata_for_build_wheel AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

...

ERROR: Command errored out with exit status 1: /usr/bin/python3 /tmp/tmprhazpypn prepare_metadata_for_build_wheel /tmp/tmpl72s0sfd Check the logs for full command output."

I'm on Linux Mint 19.

Re:Pyspread – The Most Pythonic Spreadsheet by sorenjan on Tuesday May 07, 2024 @09:14AM (#40285057)
Use pipx to install applications instead. It even works on Windows.

  > pipx install pyspread
      installed package pyspread 2.2.3, installed using Python 3.12.3
      These apps are now globally available
        - pyspread.exe
    done!
Re:Pyspread – The Most Pythonic Spreadsheet by kreddor on Tuesday May 07, 2024 @08:33AM (#40284722)
I tried to install it on ubuntu 22.04 and got a different error using pip. I'm not experienced enough with Python to quickly figure out how to proceed. It's a shame it isn't easier to install.
Re:Pyspread – The Most Pythonic Spreadsheet by ceving on Tuesday May 07, 2024 @10:06AM (#40285615)
Debian has it out of the box:

    $ LANG=C apt-cache policy pyspread
    pyspread:
      Installed: 2.2.3-1
      Candidate: 2.2.3-1
      Version table:
     *** 2.2.3-1 500
            500 http://ftp.de.debian.org/debian trixie/main amd64 Packages
            500 http://ftp.de.debian.org/debian trixie/main i386 Packages
            100 /var/lib/dpkg/status
Re:Pyspread – The Most Pythonic Spreadsheet by kwhitefoot on Tuesday May 07, 2024 @12:19PM (#40287681)
Thank you!
Re:Pyspread – The Most Pythonic Spreadsheet by Qem on Tuesday May 07, 2024 @08:57AM (#40284915)
Under Fedora 39 I was able to pip install and run it withhout problems, inside a venv environment:

    (pyspread) [xxxx@fedora ~]$ pip install pyspread
    Collecting pyspread
      Obtaining dependency information for pyspread from https://files.pythonhosted.org/packages/a5/e2/19ddb20b46ae46f11102f9095bf5bf00cb28cc79b35f38257f84a98ecd1d/pyspread-2.2.3-py3-none-any.whl.metadata
      Downloading pyspread-2.2.3-py3-none-any.whl.metadata (4.8 kB)
    Collecting PyQt5>=5.10 (from pyspread)
      Obtaining dependency information for PyQt5>=5.10 from https://files.pythonhosted.org/packages/2f/e6/a1f9853e4933c312c6de9c79d126c7d92ef69ae0e53895fb1ceb0ecc77a6/PyQt5-5.15.10-cp37-abi3-manylinux_2_17_x86_64.whl.metadata
      Downloading PyQt5-5.15.10-cp37-abi3-manylinux_2_17_x86_64.whl.metadata (2.1 kB)
    Collecting markdown2>=2.3 (from pyspread)
      Obtaining dependency information for markdown2>=2.3 from https://files.pythonhosted.org/packages/5a/09/a9ef8d5fe4b08bfd0dd133084deefcffc4b2a37a9ca35a22b48622d59262/markdown2-2.4.13-py2.py3-none-any.whl.metadata
      Downloading markdown2-2.4.13-py2.py3-none-any.whl.metadata (2.0 kB)
    Collecting numpy>=1.1 (from pyspread)
      Obtaining dependency information for numpy>=1.1 from https://files.pythonhosted.org/packages/0f/50/de23fde84e45f5c4fda2488c759b69990fd4512387a8632860f3ac9cd225/numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
      Downloading numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
         ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.0/61.0 kB 311.8 kB/s eta 0:00:00
    Collecting setuptools>=40.0 (from pyspread)
      Obtaining dependency information for setuptools>=40.0 from https://files.pythonhosted.org/packages/f7/29/13965af254e3373bceae8fb9a0e6ea0d0e571171b80d6646932131d6439b/setuptools-69.5.1-py3-none-any.whl.metadata
      Downloading setuptools-69.5.1-py3-none-any.whl.metadata (6.2 kB)
    Collecting PyQt5-sip<13,>=12.13 (from PyQt5>=5.10->pyspread)
      Obtaining dependency information for PyQt5-sip<13,>=12.13 from https://files.pythonhosted.org/packages/3c/ab/f8f1e970768fcb4ab118d4aabbfcb9b7f781088b71e1f26d813fd51c4701/PyQt5_sip-12.13.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata
      Downloading PyQt5_sip-12.13.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (504 bytes)
    Collecting PyQt5-Qt5>=5.15.2 (from PyQt5>=5.10->pyspread)
      Obtaining dependency information for PyQt5-Qt5>=5.15.2 from https://files.pythonhosted.org/packages/83/d4/241a6a518d0bcf0a9fcdcbad5edfed18d43e884317eab8d5230a2b27e206/PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl.metadata
      Downloading PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl.metadata (535 bytes)
    Downloading pyspread-2.2.3-py3-none-any.whl (1.7 MB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 2.7 MB/s eta 0:00:00
    Downloading markdown2-2.4.13-py2.py3-none-any.whl (41 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.3/41.3 kB 169.4 kB/s eta 0:00:00
    Downloading numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.0 MB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.0/18.0 MB 4.1 MB/s eta 0:00:00
    Downloading PyQt5-5.15.10-cp37-abi3-manylinux_2_17_x86_64.whl (8.2 MB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.2/8.2 MB 4.8 MB/s eta 0:00:00
    Downloading setuptools-69.5.1-py3-none-any.whl (894 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 894.6/894.6 kB 3.1 MB/s eta 0:00:00
    Downloading PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl (59.9 MB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.9/59.9 MB 1.8 MB/s eta 0:00:00
    Downloading PyQt5_sip-12.13.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl (360 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 361.0/361.0 kB 2.0 MB/s eta 0:00:00
    Installing collected packages: PyQt5-Qt5, setuptools, PyQt5-sip, numpy, markdown2, PyQt5, pyspread
    Successfully installed PyQt5-5.15.10 PyQt5-Qt5-5.15.2 PyQt5-sip-12.13.0 markdown2-2.4.13 numpy-1.26.4 pyspread-2.2.3 setuptools-69.5.1

    [notice] A new release of pip is available: 23.2.1 -> 24.0
    [notice] To update, run: pip install --upgrade pip
    (pyspread) [xxxx@fedora ~]$ python3 -m pyspread
Re:Pyspread – The Most Pythonic Spreadsheet by resource_waste on Tuesday May 07, 2024 @10:19AM (#40285767)
Stop using debian-family.

Dealing with outdated/bugs is just a regular day under the guise of 'stable'.

The only reason you even are using Mint is because conical did a marketing trick sending free CDs in 2000s.

Re:Pyspread – The Most Pythonic Spreadsheet by amias on Tuesday May 07, 2024 @08:51AM (#40284858)
stop trying to use the system python for application development. You will break your OS and you will make your code machine specific. Go read up on Virtual Envs , you were the problem here.
Re:Pyspread – The Most Pythonic Spreadsheet by evilduck on Tuesday May 07, 2024 @09:34AM (#40285256)
Python has like a dozen competing solutions in their package management space. Python is clearly the problem, not the user.

Their docs don’t say that, they advertise exactly what the GP ran. Python needs to unfuck its ecosystem.

Re:Pyspread – The Most Pythonic Spreadsheet by smaudet on Tuesday May 07, 2024 @10:13AM (#40285698)
Yeah they kinda screwed the pooch on that.

That being said, venv is the official solution, and it works fairly well. pipenv/pipx are some alternatives...but yeah.

What exactly is your system installation for if you aren't supposed to install anything to it? The package system should be able to attempt installing via venv or be able to block uncompatible packages with sane error messages.

Re:Pyspread – The Most Pythonic Spreadsheet by tupolef on Tuesday May 07, 2024 @09:02AM (#40284954)
And for the lazy ones, pipx uses Virtual Envs and can install most things from a path, an archive or a package name. Install pipx and check pipx install --help.
Re:Pyspread – The Most Pythonic Spreadsheet by kwhitefoot on Tuesday May 07, 2024 @11:59AM (#40287387)
Why is this directed at me? I'm not the one doing the software development, I was just trying to install an application.
Re:Pyspread – The Most Pythonic Spreadsheet by UncleEntity on Tuesday May 07, 2024 @12:34PM (#40287954)
> stop trying to use the system python for application development.

Umm... who exactly makes sure the app runs correctly with the version of python installed by the system?

I, for one, aren't going to bump up a python version to run a single app in a virtual environment because some dev decided to use 'python nightly' to code against.

Re:Pyspread – The Most Pythonic Spreadsheet by adolph on Tuesday May 07, 2024 @10:49AM (#40286210)
venv not always a panacea for system python

  $ docker run --rm -it python bash
  [...]

  root@211646f0fa99:/# which python
  /usr/local/bin/python

  root@211646f0fa99:/# python -m venv .venv

  root@211646f0fa99:/# source .venv/bin/activate

  (.venv) root@211646f0fa99:/# which python
  /.venv/bin/python

  (.venv) root@211646f0fa99:/# ls -l "$(which python)"
  lrwxrwxrwx 1 root root 21 May  7 14:47 /.venv/bin/python -> /usr/local/bin/python
Re:Pyspread – The Most Pythonic Spreadsheet by metadat on Tuesday May 07, 2024 @12:05PM (#40287476)
Correct, virtualenv isolates package installation but doesn't handle installing or managing arbitrary Python versions.

Node.js is similar with npm.

Is there something like nvm but for Python?

Re:Pyspread – The Most Pythonic Spreadsheet by djd20 on Tuesday May 07, 2024 @01:42PM (#40288994)
Try pyenv - very handy, includes funkier editions like pypy
Re:Pyspread – The Most Pythonic Spreadsheet by sensen7 on Tuesday May 07, 2024 @01:35PM (#40288891)
If venvs were a reasonable solution here, presumably the pyspread authors would have included them in the installation instructions. Instead they just say to "pip install", which predictably does not work for most people. It sounds a bit unfair to tell someone that "they're the problem" when they followed the official installation instructions to the letter. I would agree in classifying this as another case of python developers being unable to provide a working way to install their software (if code that the average person can't even get to execute can even be called "software".)
Re:Pyspread – The Most Pythonic Spreadsheet by globular-toast on Tuesday May 07, 2024 @01:35PM (#40288902)
You're not really supposed to pip install applications. pip is a developer tool. There is pipx which is great, but I still think it's a developer tool. It's annoying when projects say to pip install stuff. It's never the right thing to do.
Re:Pyspread – The Most Pythonic Spreadsheet by pasc1878 on Tuesday May 07, 2024 @04:12PM (#40290931)
Compare this with the comments above re nix where it just ran - although to get a python app to build on nix is a pain but at least only one person has to do it.
Re:Pyspread – The Most Pythonic Spreadsheet by voxelghost on Tuesday May 07, 2024 @08:29AM (#40284679)
I am Jacks endless disappointment. j/k - it looks nice - how would you compare/position it against something like jupyter lab?
Re:Pyspread – The Most Pythonic Spreadsheet by fab13n on Tuesday May 07, 2024 @08:53AM (#40284869)
the magic power of spreadsheets is that they encourage improvisation, and it probably applies to that one.

you have only one data structure (the 2D table), data types are super-weak, there are no variable names... all of this guarantee a maintenance nightmare, and rightfully scares developers. But it's also a very low barrier to entry. You've got data, you paste them into the grid, and you start toying with them, before having figured anything about them.

That's an amazing superpower, when targeting non-developers, and that's why Excel is the most used programming language over the world, by far: it's probably got an order of magnitude more users than there are trained developers in the world.

Re:Pyspread – The Most Pythonic Spreadsheet by WillAdams on Tuesday May 07, 2024 @09:08AM (#40285006)
and _that_ is why I'm still very sad that Lotus Improv didn't make it in the marketplace --- gathering all the formulae into one pane was _incredible_ for organization and providing a single top-level view of what a spreadsheet was doing.

I really wish Flexisheet would get to a usable point, or that Quantrix wasn't so expensive.

Re:Pyspread – The Most Pythonic Spreadsheet by metadat on Tuesday May 07, 2024 @12:09PM (#40287540)
What is the meme behind this reference: "I am Jack's endless disappointment"?

I searched the web but still unclear.

Re:Pyspread – The Most Pythonic Spreadsheet by fishyjoe on Tuesday May 07, 2024 @01:47PM (#40289067)
Re:Pyspread – The Most Pythonic Spreadsheet by voxelghost on Wednesday May 08, 2024 @12:22AM (#40294306)
This is of course the correct answer to the question. But additionally, I made the joke because I somewhat Identified with the 'Jack' use case mentioned in one of the pages on the PySpreads site
Re:Pyspread – The Most Pythonic Spreadsheet by oulipo on Tuesday May 07, 2024 @08:32AM (#40284717)
I guess it would be "easy" to compile to WASM using pyodide or such, and have a full in-browser version? might be cool
Re:Pyspread – The Most Pythonic Spreadsheet by codingglass on Tuesday May 07, 2024 @09:42AM (#40285350)
Looks like the interface/windowing is built on Qt/PyQt. QT does have a WebAssembly build, but I don't think it's all that simple of a transition.
Re:Pyspread – The Most Pythonic Spreadsheet by zero-sharp on Tuesday May 07, 2024 @08:33AM (#40284721)
I wonder what the performance is like?
Re:Pyspread – The Most Pythonic Spreadsheet by ssl232 on Tuesday May 07, 2024 @08:37AM (#40284760)
I see it uses numerical designations for both the columns and rows allowing indexing like a 2D matrix. Nice. One of the many annoyances of Excel is the alphabetic columns that make even less sense beyond 26.
Re:Pyspread – The Most Pythonic Spreadsheet by tichiian on Tuesday May 07, 2024 @08:54AM (#40284877)
That A1 mode is Excel "Baby-Mode", you can switch to R1C1 mode in settings. Things are far easier then, and more sane.

His Excel-lence also recommends this: https://www.youtube.com/watch?v=JxBg4sMusIg

Re:Pyspread – The Most Pythonic Spreadsheet by falcor84 on Tuesday May 07, 2024 @10:33AM (#40285967)
Baby mode?! As a full grown adult, I find the cognitive load of the base 26 arithmetic of "what column is an offset of 8 to the right of AW" to be exactly what I needed to fully forget about what I came there to do in the first place
Re:Pyspread – The Most Pythonic Spreadsheet by epcoa on Tuesday May 07, 2024 @10:48AM (#40286198)
Baby’s lack object persistence and a formed theory of mind, seems to check out.
Re:Pyspread – The Most Pythonic Spreadsheet by mhh__ on Tuesday May 07, 2024 @02:42PM (#40289832)
Never seen anyone actually use this.

The "real" answer is to use names and tables. That and generally not having data flying up down left and right.

Re:Pyspread – The Most Pythonic Spreadsheet by steine65 on Tuesday May 07, 2024 @02:54PM (#40289998)
Agreed! Hard cell references should rarely be used. Names for metadata variables (eg. Current_Month) and tables for datasets.
Re:Pyspread – The Most Pythonic Spreadsheet by tichiian on Tuesday May 07, 2024 @06:16PM (#40292192)
Yes. But many parts of excel don't support those. E.g. conditional formatting just doesn't deal with names.

Also, when you need names, it is a sign to reach for a proper programming enviroment like Delphi or Lazarus.

Re:Pyspread – The Most Pythonic Spreadsheet by cyanydeez on Tuesday May 07, 2024 @08:37PM (#40293155)
some of us have some logical dyslexia, so when I see a tuple of numerics, even if you say (this is the row, this is the column, this is the table), when I'm manipulating references, or finding a tuple in the dark, I easily mix up the order of the bits, because lets face it, it's arbitrary.

So, while your logic makes sense, it voids humanity in a rather stark way which I suppose is fine, but it's not like I'm incapable of programming. I just have to be careful about how I name variables and use keywords in python more often than args.

Re:Pyspread – The Most Pythonic Spreadsheet by amias on Tuesday May 07, 2024 @08:52AM (#40284866)
this seems like a huge reinvention of jupyiter , i really hope they aren't going to recreate all the bugs.
Re:Pyspread – The Most Pythonic Spreadsheet by cdrini on Tuesday May 07, 2024 @09:51AM (#40285446)
I think one major difference between spreadsheets and Jupyter notebooks is state/dependency graph. In a notebook, cells don't depend on each other. They can be run many times, and the order they're run in matters. This is one of the major gotchas with notebooks. With spreadsheets, they're generally deterministic. There is no notion of "cell order", cells are recomputed automatically depending on the dependency graph between the cells. This results in a pretty big user experience difference.
Re:Pyspread – The Most Pythonic Spreadsheet by ziml77 on Tuesday May 07, 2024 @10:15AM (#40285727)
But according to other comments here, that's unfortunately not how this spreadsheet program works.
Re:Pyspread – The Most Pythonic Spreadsheet by cdrini on Tuesday May 07, 2024 @01:01PM (#40288380)
Yes in that it doesn't appear to use a dependency graph to track recomputes; it recomputes everything on a cell change (according to another commenter anyways). But the UX effect is still the same in that the user never has to think about cell order, and every cell is always consistent with each other.
Re:Pyspread – The Most Pythonic Spreadsheet by tichiian on Tuesday May 07, 2024 @08:56AM (#40284905)
Python is a bad language for this, because one-liners are awkward. Multiline code is possible but ugly due to indentation-based syntax. Brace-based languages would be far more suitable here.
Re:Pyspread – The Most Pythonic Spreadsheet by toss1 on Tuesday May 07, 2024 @11:56AM (#40287346)
Are you suggesting a flavor of Lisp? Because THAT could be very nice in a cell-format.
Re:Pyspread – The Most Pythonic Spreadsheet by hodapp on Tuesday May 07, 2024 @02:04PM (#40289302)
There is SIAG (Scheme in a Grid) that has been around for ages: https://siag.nu/siag/
Re:Pyspread – The Most Pythonic Spreadsheet by behnamoh on Tuesday May 07, 2024 @05:37PM (#40291821)
I like Lisp but why are almost ALL Lisp-related websites so ugly? They still have the 90s look and feel.
Re:Pyspread – The Most Pythonic Spreadsheet by hodapp on Wednesday May 08, 2024 @01:55PM (#40301050)
In the case of SIAG, probably because the page saw its last update in 2000.
Re:Pyspread – The Most Pythonic Spreadsheet by DrNosferatu on Tuesday May 07, 2024 @08:59AM (#40284935)
I couldn't understand what's the datatype of each cell. - How to use NumPy and others?
Re:Pyspread – The Most Pythonic Spreadsheet by WillAdams on Tuesday May 07, 2024 @09:16AM (#40285074)
I would really like to see a distribution which puts all the best alternative software together:

- pyspread for a spreadsheet

- LyX for a word-processor

- OpenSCAD for a 3D modeler

- TkzEdt (or ipe) for 2D drawing

&c.

(and I'd be interested in suggestions for similar software for other tasks, esp. presentations and database work)

Re:Pyspread – The Most Pythonic Spreadsheet by diath on Tuesday May 07, 2024 @12:23PM (#40287741)
But why do you even need a distro to begin with just to ship certain software set? Install Arch/Gentoo and install whatever is your preferred software of choice, or hell, you can even do that on any other distro.
Re:Pyspread – The Most Pythonic Spreadsheet by comte7092 on Tuesday May 07, 2024 @01:57PM (#40289212)
The value a dedicated distro provides here is that you don’t have to do the legwork to research and find the best tools.

As power users we may want to do that ourselves, but a lot of people place value in having that curation done for them.

Re:Pyspread – The Most Pythonic Spreadsheet by WillAdams on Tuesday May 07, 2024 @12:58PM (#40288328)
I think it would be an interesting thing for a distro to market/focus on, and it might help to find/identify/encourage additional such software.
Re:Pyspread – The Most Pythonic Spreadsheet by everforward on Tuesday May 07, 2024 @03:07PM (#40290150)
Isn’t that basically package groups (or whatever the district-specific terms are)?

Eg Im pretty sure Ubuntu Desktop has some kind of “Productivity” package group that includes a word processor and spreadsheets and an email client and what not. I’m pretty sure it’s selected by default when you do a full desktop install. I don’t recall what the actual software is, but I would imagine LibreOffice.

I would agree with OP that it doesn’t really make sense for a distro, though. People really want to “make a distro” for some reason so we end up with silly shit like Kubuntu (Ubuntu… with KDE pre-installed).

My general rule of thumb is if I can point the distro’s OS package manager to the distro’s upstream (ie Ubuntu for Kubuntu, or Debian for Ubuntu) and everything works or mostly works, it should be a script or apt repo and not a distro.

There are way too many “Ubuntu but with a different default DE” distros that could really just be a modified install ISO or post-install script.

Re:Pyspread – The Most Pythonic Spreadsheet by cryptonector on Tuesday May 07, 2024 @07:41PM (#40292783)
A pkg group is enough.
Re:Pyspread – The Most Pythonic Spreadsheet by LeifCarrotson on Tuesday May 07, 2024 @10:17AM (#40285753)
KiCad for electronics development.

Blender for 3D graphics.

Gimp for photo editing.

Inkscape for illustration.

Though I'd recommend FreeCAD over OpenSCAD as a 3D modeling tool for most users as an alternative to traditional CAD tools...and therein lies the distro problem.

Re:Pyspread – The Most Pythonic Spreadsheet by WillAdams on Tuesday May 07, 2024 @10:58AM (#40286377)
Good points.

I was trying to think of unusual programs with non-standard approaches.

Perhaps rather than FreeCAD either BRL-CAD, or maybe the recently announced Dune 3D:

https://news.ycombinator.com/item?id=40228068

Also, Blender w/ CADsketcher (the Solvespace solver) is quite good:

https://news.ycombinator.com/item?id=34856383

Though maybe Solvespace would be a better match?

https://news.ycombinator.com/item?id=33571555

Re:Pyspread – The Most Pythonic Spreadsheet by synergy20 on Tuesday May 07, 2024 @11:19AM (#40286764)
drawio for diagrams
Re:Pyspread – The Most Pythonic Spreadsheet by johnmaguire on Tuesday May 07, 2024 @01:51PM (#40289136)
Gimp is really not great for photo editing IMO - it really shines at photo manipulation. (i.e. it is Photoshop, not Lightroom.)

For RAW development (a la Lightroom), DarkTable and RawTherapee exist. I've only tried the former, and found it incredibly difficult to use.

I also prefer Krita for digital illustration (though maybe that's unfair - it's best at digital painting specifically.) Of course, if you need vector support, Inkscape is the obvious answer.

Re:Pyspread – The Most Pythonic Spreadsheet by heggy on Tuesday May 07, 2024 @10:16AM (#40285731)
When would you take OpenSCAD over Blender?
Re:Pyspread – The Most Pythonic Spreadsheet by gibspaulding on Tuesday May 07, 2024 @10:36AM (#40286011)
OpenSCAD is really good for parametric designs. One of the first things I designed in OpenSCAD was a bicycle sprocket where you could input how many teeth you wanted, link length, how thick, etc. and OpenSCAD would generate the sprocket according to those parameters. I recall seeing a while back that blender was adding support for this kind of thing so I'm sure it's possible, but it was very intuitive in OpenSCAD.

For any large project I'm sure Blender (or FreeCAD) would be a better choice, but as someone with some programming background just starting out, OpenSCAD feels way more accessible.

Re:Pyspread – The Most Pythonic Spreadsheet by WillAdams on Tuesday May 07, 2024 @11:08AM (#40286558)
I've tried a lot of 3D software over the years, and OpenSCAD has been the one I've been most successful with (along w/ Carbide Create, but I work for that company....)

Currently working on a library which makes the two work together:

https://github.com/WillAdams/gcodepreview

(which is currently quite primitive/basic, and even when fully developed is not likely to be used by anyone else)

Re:Pyspread – The Most Pythonic Spreadsheet by bitdivision on Tuesday May 07, 2024 @10:31AM (#40285947)
Blender wasn't originally designed to be used for CAD type applications. It's possible of course, but you're likely better off with something specifically meant for precision CAD models. Specifically for 3d printing, I don't think blender is ideal.

I think most programmers like OpenSCAD - what better way to make parametric CAD models than by writing code?

Re:Pyspread – The Most Pythonic Spreadsheet by giancarlostoro on Tuesday May 07, 2024 @10:26AM (#40285881)
My understanding is that with CAD software you can go backwards and have (near?) infinite edit history, in a way you cannot with Blender. Which makes it very, very useful.
Re:Pyspread – The Most Pythonic Spreadsheet by spott on Tuesday May 07, 2024 @10:59AM (#40286395)
A lot of cad software actually has an editable history: you can go back 100 steps and modify a dimension or a step and have the rest of the model updated to take that new dimension into account.

I wouldn’t work with any cad software that didn’t have that ability.

Re:Pyspread – The Most Pythonic Spreadsheet by constantcrying on Tuesday May 07, 2024 @02:01PM (#40289259)
This is called parametric design. Since CAD programs do not operate on meshes, this allows you to e.g. change the dimension on some part and have the rest adjust accordingly.

How well this works depends on the situation, if changing a parameter causes new faces to appear on the object this is usauayvwry difficult to handle, even for commercial CAD programs.

Re:Pyspread – The Most Pythonic Spreadsheet by constantcrying on Tuesday May 07, 2024 @01:57PM (#40289208)
Blender can't do CAD. At least it can't do what you would want to do in a CAD program.

The most important difference is that Blender operates on meshes, CAD programs don't.

Re:Pyspread – The Most Pythonic Spreadsheet by TheCleric on Tuesday May 07, 2024 @04:29PM (#40291078)
I tend to use AlternativeTo for that.

For example: https://alternativeto.net/software/pyspread/

Re:Pyspread – The Most Pythonic Spreadsheet by stainablesteel on Tuesday May 07, 2024 @09:56PM (#40293617)
anything that replaces powerpoint?
Re:Pyspread – The Most Pythonic Spreadsheet by WillAdams on Wednesday May 08, 2024 @06:58AM (#40296554)
If you're a hardcore LaTeX user there's beamer.

I think there are a plug-ins for Inkscape for presentations.

Re:Pyspread – The Most Pythonic Spreadsheet by throwaway2037 on Tuesday May 07, 2024 @10:57PM (#40293918)
Debian should do.
Re:Pyspread – The Most Pythonic Spreadsheet by dfox on Tuesday May 07, 2024 @09:19AM (#40285107)
It seems to not be a true spreadsheet with dependency tracking and instead it recomputes everything after each change. Whis probably kind-of obvious as how to track the dependencies for arbitrary Python code is not that obvious. But without resorting to some static analysis magic one could just track accesses to the magic S[] during the excecution of the cell, its value cannot depend on anything else than what was accessed during the evaluation.
Re:Pyspread – The Most Pythonic Spreadsheet by movpasd on Tuesday May 07, 2024 @10:13AM (#40285697)
One issue with this is that arbitrary Python code can have arbitrary side-effects.

Your suggestion reminds me a lot of fine-grained reactivity like in SolidJS, which makes sense, since spreadsheets basically operate on reactive programming. Some great articles by Ryan Carnatio on the topic.

The side-effects thing comes in if a user puts in some side-effect in a dependent cell, which is equivalent to adding side-effects in a memo in reactive-speak.

Re:Pyspread – The Most Pythonic Spreadsheet by dgacmu on Tuesday May 07, 2024 @10:04AM (#40285594)
That gets broken by constructs like sum(all of column 5) when new rows or columns are added.

(It's very similar to the problem of locking in databases)

Re:Pyspread – The Most Pythonic Spreadsheet by cmcconomy on Tuesday May 07, 2024 @10:02AM (#40285570)
what if you wrap all your cell contents with a memoize
Re:Pyspread – The Most Pythonic Spreadsheet by mewpmewp2 on Tuesday May 07, 2024 @10:11AM (#40285668)
Or maybe worst case allow user to add deps like in React useEffect.
Re:Pyspread – The Most Pythonic Spreadsheet by regularfry on Tuesday May 07, 2024 @09:36AM (#40285281)
Shame it's GPL3. That counts it out of being included in FreeCAD, which I can't help but feel would be an improvement on the current spreadsheet workbench.
Re:Pyspread – The Most Pythonic Spreadsheet by adolfopd on Tuesday May 07, 2024 @09:55AM (#40285497)
Eneble number line to 2^25 or minimal 2^22 by default.

Kill many user from Excel limitation 2^20!!

Re:Pyspread – The Most Pythonic Spreadsheet by Kim_Bruning on Tuesday May 07, 2024 @10:20AM (#40285790)
nix run nixpkgs#pyspread

Not saying Nix(os) Is The Way, but sometimes it does ok.

Re:Pyspread – The Most Pythonic Spreadsheet by ingenieroariel on Tuesday May 07, 2024 @10:25AM (#40285856)
I did not believe you and just typed it on OSX, half a minute later the app was ready for me to use.

nix run nixpkgs#pyspread [0/1 built, 3/113/132 copied (1311.8/1721.6 MiB), 280.4/300.7 MiB DL] fetching llvm-16.0.6 from https://cache.nixos.org

https://pasteboard.co/P1eh7B7W8C9R.png

Re:Pyspread – The Most Pythonic Spreadsheet by just_testing on Tuesday May 07, 2024 @07:38PM (#40292765)
I just downloaded nixos for WSL2. Way easier than I thought. Thank you!
Re:Pyspread – The Most Pythonic Spreadsheet by brudgers on Tuesday May 07, 2024 @10:24AM (#40285844)
Re:Pyspread – The Most Pythonic Spreadsheet by ptx on Tuesday May 07, 2024 @01:04PM (#40288409)
Not actually "in Excel", though. The Python code runs on Microsoft's servers (they say in the introduction) and Excel is just a client.

There's no reason they couldn't embed CPython in Excel, but maybe the intention was for the online version of Excel to have feature parity without having to compile Python to JavaScript?

Re:Pyspread – The Most Pythonic Spreadsheet by cyanydeez on Tuesday May 07, 2024 @08:39PM (#40293175)
the intention is to lock in orgs to their cloud services. This is a value-add. They really know that Excel, Word are "feature complete" and the only way they're going to make money on it is by harvesting and locking in the users.
Re:Pyspread – The Most Pythonic Spreadsheet by mhh__ on Tuesday May 07, 2024 @02:43PM (#40289844)
Awful. They don't seem to understand excel anymore.

If you want to see this done properly (on some limit) look at pyxll.

Re:Pyspread – The Most Pythonic Spreadsheet by eigenket on Tuesday May 07, 2024 @11:02AM (#40286455)
I'm also interested in the least pythonic spreadsheet, has anyone worked on that?
Re:Pyspread – The Most Pythonic Spreadsheet by voxelghost on Wednesday May 08, 2024 @12:26AM (#40294328)
I heard microsoft made an attempt
Re:Pyspread – The Most Pythonic Spreadsheet by eigenket on Wednesday May 08, 2024 @05:28AM (#40295985)
That was the joke, I guess it wasn't appreciated ;)
Re:Pyspread – The Most Pythonic Spreadsheet by dang on Tuesday May 07, 2024 @12:04PM (#40287463)
Related. Others?

Pyspread – Spreadsheet with deep Python integration - https://news.ycombinator.com/item?id=30426053 - Feb 2022 (1 comment)

Pyspread – Spreadsheet implementation in Python, cells return Python objects - https://news.ycombinator.com/item?id=7593603 - April 2014 (1 comment)

Show HN: Spreadsheets using Python - Have you seen this? - https://news.ycombinator.com/item?id=1884896 - Nov 2010 (47 comments)

PySpread: A spreadsheet that accepts a pure python expressions - https://news.ycombinator.com/item?id=265132 - Aug 2008 (3 comments)

Re:Pyspread – The Most Pythonic Spreadsheet by justin_oaks on Tuesday May 07, 2024 @02:54PM (#40289981)
I'd like to give praise for the "Target User Group" section on the homepage.

Not only does it say what users the app is for, but also who it is NOT for. I think this kind of information is invaluable in deciding whether or not to use or suggest an app.

I can understand if app developers want EVERYBODY to user their app (whether or not its the best for the job) or if the app developer just doesn't want to take the time to write out who the app is NOT for. But I will praise those who do include that information.

Re:Pyspread – The Most Pythonic Spreadsheet by TheCleric on Tuesday May 07, 2024 @04:28PM (#40291063)
I like it and I'll take it a step further. I think this is important information for a developer to admit to THEMSELVES at least. Being all things to all people is a route straight to burnout for an open source project.
Re:Pyspread – The Most Pythonic Spreadsheet by behnamoh on Tuesday May 07, 2024 @05:38PM (#40291827)
And yet, it is not available on macOS, presumably THE platform where that target user group lives.
Re:Pyspread – The Most Pythonic Spreadsheet by yazzku on Tuesday May 07, 2024 @09:10PM (#40293344)
And what makes you think that?
Re:Pyspread – The Most Pythonic Spreadsheet by tazu on Tuesday May 07, 2024 @10:01PM (#40293647)
I wish Stackoverflow included "daily operating system" in their surveys, but I'd wager that 50%+ of professional developers use MacOS. For many reasons probably, but for me it's simply because it's a nice BSD system that translates well to Linux servers (prod).
Re:Pyspread – The Most Pythonic Spreadsheet by throwaway2037 on Tuesday May 07, 2024 @10:57PM (#40293914)

    > but I'd wager that 50%+ of professional developers use MacOS
Ok, I will take that bet against you. If you think it true, then you are living in a bubble. Probably 90% use MS Windows with no choice, because they work in a big enterprise that uses MS Office and Exchange/Outlook. For enterprise email, is there any competition at this point? I don't know any.
Re:Pyspread – The Most Pythonic Spreadsheet by tazu on Wednesday May 08, 2024 @01:14AM (#40294569)
> If you think it true, then you are living in a bubble.

This is probably true. I only really talk to US startup devs.

Re:Pyspread – The Most Pythonic Spreadsheet by throwaway2037 on Wednesday May 08, 2024 @05:07AM (#40295844)
In that case, I would take your side of the bet! US startup devs appears (from HN) to have pretty liberal hardware policies. If choosing a laptop, many will choose the best hardware, which is currently a MacBook.
Re:Pyspread – The Most Pythonic Spreadsheet by Atotalnoob on Wednesday May 08, 2024 @10:43AM (#40298660)
Startups don’t employ the majority of engineers. Windows would still dominate.

Edit: I can’t read. Disregard.

Re:Pyspread – The Most Pythonic Spreadsheet by yazzku on Thursday May 09, 2024 @09:03PM (#40314551)
You are very much living in a bubble. Real developers don't use macs.
Re:Pyspread – The Most Pythonic Spreadsheet by jhbadger on Wednesday May 08, 2024 @12:12AM (#40294254)
pip install pyspread works just fine on macOS (assuming you have pip and python installed, which anyone who would be interested in having a python-enabled spreadsheet would have).
Re:Pyspread – The Most Pythonic Spreadsheet by hanche on Wednesday May 08, 2024 @03:27AM (#40295274)
Not quite true, as others have pointed out. However, the installation instructions say this:

> While there have been reports that pyspread can be used on OS X, OS X is currently unsupported (can you help?).

I think that would make many non-technical users uncomfortable.

Re:Pyspread – The Most Pythonic Spreadsheet by okigan on Tuesday May 07, 2024 @07:36PM (#40292746)
After reading the parent comment - I thought to myself “so what”.

But after reading it on the product page - I fully agree: seeing clearly the targeted personas and out of scope usage significantly elevates my trust in the product and the team behind it.

Have not used the software, but now I want to try

Re:Pyspread – The Most Pythonic Spreadsheet by worldwidelies on Tuesday May 07, 2024 @11:41PM (#40294112)
I found a typo in the "Target User Group" section.

Original Sentence:

> Furthermore, Peter is worried about algorithmic errors and calculation inaccuracies is his complicated tables.

Correction:

> Furthermore, Peter is worried about algorithmic errors and calculation inaccuracies in his complicated tables.

Re:Pyspread – The Most Pythonic Spreadsheet by breckognize on Tuesday May 07, 2024 @04:23PM (#40291005)
Shameless plug: If you have bigger data sets, check out https://rowzero.io

We scale up to hundreds of millions of rows and have native Python support.

You can define functions in Python and call them as formulas from any spreadsheet cell. We seamlessly marshal Pandas dataframes from Python land to spreadsheet land and back. [1]

We're also hosted and support real time collaboration like Google Sheets. We reimplemented the Excel formula language. We connect directly to Postgres, S3, Snowflake, Redshift, and Databricks. And the first workbook is free.

[1] https://rowzero.io/docs/code-window

Re:Pyspread – The Most Pythonic Spreadsheet by blagie on Tuesday May 07, 2024 @08:06PM (#40292951)
Shameless suggestion: Instead of one free workbook, make unlimited free workbooks, but unusable for corporate settings. I'd recommend binary sharing:

- Only I have access (private / personal use)

- The universe has access (open-source use)

But one free workbook still beats the typical 30-day trial.

Re:Pyspread – The Most Pythonic Spreadsheet by Aliyekta on Tuesday May 07, 2024 @04:42PM (#40291211)
the api page doesn't seem to work.
Re:Pyspread – The Most Pythonic Spreadsheet by JosephRedfern on Tuesday May 07, 2024 @04:43PM (#40291221)
Interestingly, Giles Thomas (the guy behind Python Anywhere) originally developed a Pythonic Spreadsheet application, called Resolver One, and then iterated to a a web-based version, called Project Dirigible.

Python Anywhere eventually span out from Project Dirigible when they realised that it was mostly being used for "generic" Python development rather than being used as a spreadsheet. There's an interesting write-up on this evolution here: https://blog.pythonanywhere.com/197/, and a demo of Dirigible here: https://www.youtube.com/watch?v=2ZoIp-5NaiQ.

Project dirigible ended up being open sourced here: https://github.com/pythonanywhere/dirigible-spreadsheet.

Re:Pyspread – The Most Pythonic Spreadsheet by golem14 on Tuesday May 07, 2024 @04:57PM (#40291377)
I'm curious how it compares to emacs' calc / spreadsheet mode in org.

Looks like it is

a) a stand-alone X11 app (not easily runnable on macos) b) using python instead of elisp.

Is that roughly accurate ? I can't easily understand from the post.

Re:Pyspread – The Most Pythonic Spreadsheet by cognomano on Tuesday May 07, 2024 @11:59PM (#40294190)
> Execution order between cells is not guaranteed to be stable and may differ for different versions of Python.
Re:Pyspread – The Most Pythonic Spreadsheet by pasc1878 on Wednesday May 08, 2024 @02:25AM (#40294938)
There used to be a python spreadsheet that worked as a spreadsheet - Resolver One.

It was .Net based but did not make enough money. I wonder if done now there would be enough support to open source something like this.

For a review see https://blog.jonudell.net/2007/09/27/first-look-at-resolver-...

Re:Pyspread – The Most Pythonic Spreadsheet by smithza on Wednesday May 08, 2024 @01:40PM (#40300879)
I have been using grist [0] for a number of months. Self-hosted. Uses Python and has defined all common Excel functions as Python functions. Has a web-api so it can be used as a kind of database. Very nice for my small use-cases where Excel would have fit the bill. I have not stress tested it and I know there are row limitations without going to the enterprise edition.

0: https://www.getgrist.com/