-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Kamil Niklasinski edited this page Apr 2, 2021
·
34 revisions
-
print(GetFX('USD'))
will nicely print the result - override__str__()
method in GetFX base class - try to apply different monkey patching: see pytest docs and apply yield teardown method - not done: check in book to order if/how to apply monkey patching in fixtures that return value using
yield
statement - consider if pytest.params could be used (not done)
- split to target classes/packages
- consider to write test for base class:
- GetFX object created
- constructor attributes are present
- _delete() method is present (iscallable) (not done)
- _get_request() and _store_response() are raising NotImplementedError
- str() returns a string (without checking specifics)
- consider moving parser to separate class (?) and write unit tests for it (with mocked NBP connection)
- consider how really packages and modules should be created. Do we need 3 packages? How they should be created?
- document methods, classes, packages; publish documentation;
- apply github CI
- coverage.py
- use
omit
to ignore tests folder. Then check results on coveralls - or add new test for main() when is invoked from command line
- use
- rebase / squash master and other branches
- package
- familiarize with these links: tutorial, Packaging and distributing, Setup tools doc, sample project
- and more materials: structure pitfalls, more pitfalls, pytest good integration patterns, and general article on modules and packages
- check badger from here and requires.io
- verify if
setup.cfg
is required for coverage.py or maybesetup.py
is enough - check this - add to development hints about using tax and tox-pyenv: https://pypi.org/project/tox-pyenv/
- determine License and update Readme
- set-up versions correctly accordingly to PEP-440
- create CONTRIBUTE.md or DEVELOP.md
- consider if/how to publish package on github repo page
- consider what / if development tools could be installed with the package
- optional consider make install to copy package to /usr/local/share and link to /usr/local/bin; however this installation requires virtual environment with dependent packages! So not sure if it makes sense, or maybe better create pip package first?
- documentation RST ;
- sphinx;
- where to host? (readthedocs or github pages)
- experiment with pull requests and safeguards (linting, testing)
- [-] consider keeping docstring version of code in separate branch (branched from master)
- coveralls try to keep only one job if possible (?) or we have to use two?
- push all to master + make public
To do:
- add in readme information where changes are published:
- documentation: staging and prod
- package
-
remove old folder (getfx-staging) on : https://github.com/kniklas/pages-staging
-
parametrise publish depending on target branch:
- dev & PR
- master & PR
-
parametrise package publish depending on target branch:
- dev
- master
-
revise structure of GitHub Actions into jobs / steps, etc.
- consider creation of homebrew package
- consider creation of apt package
- import FX-es from page (directly, or from directory?) to SQL lite DB
- store FX-es in SQL lite DB and write tests for that
- write another module that analyses historic FX rates to get optimal investment (buying) strategy. It will use FX-es stored in GetFX database, eventually will fetch new ones (?)