Indeed. Actually with-in the demo samples folder you can find a simple QuantLib example (quantlib.json). Although you'll need to install the QuantLib package separately as I didn't include it in the dependencies.
The Dag/graph is one of the best parts of those tool chains. That is one library I wish had a good open source equivalent. Partly because it would be nice to use in any project / environment, but also because there would be a lot more documentation and examples. Take Pandas for example, if it stayed internal then it wouldn’t be the powerhouse that it is today.
Most dependency graph examples are based around calculations but it’s a versatile pattern and not limited to just math. I find the JS community has really taken hold of the dependency tracking and “reactive framework” idea to build UIs.
This is really interesting because I was working recently on a way to have complete spreadsheets using only CSV files. The project is in my Github (https://github.com/yassirnajmaoui/runcsv and https://github.com/yassirnajmaoui/runcsv-gui)
The only (major) thing is that the cells are run in top-bottom left-right instead of running a graph like this repo suggests.
Spreadsheets are so powerful and really great and producing one-off solutions, but when you want to automate them you always need to redo most of the work in a "serious" programming language and wrap all of it in an API etc.
I always wondered how one could bridge the gap between creating a PoC computation in a spreadsheet and getting the same code to run in production without the rewrite. This could be a nice first step for a python server application designed in a spreadsheet.
Unfortunately, this will only install the core library without the demo spreadsheet files. Even if you were to add the extras modifier "[demo]", it would only install additional dependencies and not the actual demo code. To use the demo you'll need to clone and follow instructions in my other comment.
Once you can do `pyenv versions`, you should see `system` is your only python.
You can run `pyenv install 3.9` to get the latest.
Now that you're running the latest 3.9, the goal is to install each of the dependencies of this project, one by one.
Step one: try to run the project. It will fail with an error.
Step two: install the library that it says is missing.
Step three: Go to step one.
I've followed this algorithm so many times that I can't count anymore how often it's saved me. Forget poetry, and forget a requirements.txt file. This is the only way I do it on my local laptop. (And I usually use the regular system python, but, yours seems to be in a suspect state.)
If after all of this you still get errors, then I'm truly sorry; god be with you, you're not alone, but I'm not sure anyone can help. It's definitely not the fault of this project that pillow can't be installed. :)
That's very strange. The core library uses pure python and demo uses pyqt5, pandas, matplotlib and pillow. I wasn't aware that any of those projects (or sub projects) depend on Rust. I'm running on Linux / Ubuntu 20.04 with Python 3.8. How about you?
(The pip command I just gave should only install the core library and so only depends on base python).
Yes you're right! There was something wrong with poetry build system. When I initialised the poetry project roughly a year ago it placed an unpinned dependency (for the build part) for cryptography which recently switched to rust. I'm not sure why poetry hadn't vendorized that package or, at least, pinned the version. In any case, I updated the repo's pyproject.toml to use poetry's new build settings. Then, to check the install works in docker I switched to python's base images and did the following:
Note that I had to force cppy to install using pip. At some point I'll refresh the poetry lock file to fix these glitches that seem to appear as an untouched project ages.
To play with the demo spreadsheet you'll need to clone the repo and run the demo script, ie:
There's an inline gif showing the spreadsheet in use.Hope it's interesting :)