coopergillan / recurr_txns Goto Github PK
View Code? Open in Web Editor NEWGenerate recurring transactions in a spreadsheet-friendly format
Generate recurring transactions in a spreadsheet-friendly format
Add appropriate scripts based on Github Scripts to Rule Them All to make it easier to use the project.
Currently the logic to set up the recurring transactions themselves and the logic to output the assembled transactions is all in the same module. It also uses global functions.
Ideally the logic for these two would be split into separate modules and into classes as well. There should be adequate test coverage for each as well.
Currently the main script is set up to automatically create an output file and to report all transactions. Ideally there would be command line options to output the results to a file or not. Additionally, it could be that the user only wants to see the first 10 or 15 transactions. This could also be a command line option.
Consider downgrading the required Python version to 3.6 at a minimum. At least one code block would need to be changed as of this writing, which makes use of the new dictionary union operators brought in by PEP 584:
recurr_txns/test/test_recurr_txns.py
Line 52 in 9817e30
It's great that there are scripts in scripts/
per Github Scripts to Rule Them All. These were originally added in #1 and #2. That said, it isn't immediately clear which order these should be run in.
With Makefile
it is easy to specify dependencies, so these commands should be added there to make things even simpler.
The dependencies in Pipfile
can be simplified, namely by using the built-in csv
module to write the output file rather than pandas
. Additionally, all objects from rrule
can be imported since the __all__
method limits them effectively.
While this is somewhat deviating from the original intent of this project, it would be great to allow one-time transactions. This is useful if a series of payments are being planned out and some values for recurring transactions are being changed. Currently, the full set of transactions will need to be regenerated after each change. Allowing one-time future transactions will allow the full list of transactions to be reported after each change.
Add a Github Actions workflow to run the test suite for pull requests as well as pushes to the default branch.
The current Dockerfile
is not using pipenv
. It is directly pip
installing what are now outdated dependencies. The build should make use of pipenv
to use the same environment that script/bootstrap
will.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.