A set of models often used for trading services. The library offers merely models and is database agnostic.
Freya Alpha, The Kára System, Spark & Hale Robotic Industries
Run and compiled for Python 3.9.13. Expected to run for Python 3+
run tests with pytest -s -vv
to see all the details. This is extremely important for the library. It could make multiple pods fail.
Simply run: pip install fa-models
Import in modules without the dash (e.g.): from famodels.signal import Signal
Create the virtul environment:
py -m venv .venv
Start the Environment:
./.venv/Scripts/activate
(or allow VS Code to start it). Use deactivate
to stop it.
Upgrade the PIP.
python -m pip install --upgrade pip
All the required libraries must be listed in requirements.txt and installed by
python -m pip install -r .\requirements.txt
For Dev use
python -m pip install -r .\requirements-dev.txt
To cleanup the environment run:
pip3 freeze > to-uninstall.txt
and then
pip3 uninstall -y -r to-uninstall.txt
or
pip3 install pip-autoremove
Prerequisite: make sure that you give your Operating System user the right to modify files in the python directory. The directory where pyhton is installed.
Use python setup.py bdist_wheel
to create the dist, build and .eggs folder.
In order to use your own version of the project - to maybe contribute to the library - simply clone the code from github into new directory. Then add the path of that new directory to the requirements.txt file of your project. Then change in fa-models whatever you recommend to improve. Don't forget the Open-Closed Principle: extend only (unless it requires a breaking change)
Simply commit and push into MAIN. Make sure you have tested well.
Github Actions (.github/workflows/testing_and_deployment.yml) will deploy the file to pypi.org.
Delete any old files in the /dist and build folder of your local environment. Update your pip:
python -m pip install --upgrade pip
Install the tools build, twine and bumpver:
python -m pip install build twine bumpver
Upgrade the setuptools:
pip install --upgrade setuptools
Bump the version in pyproject.toml:
bumpver update --patch
This will commit a new version to GitHub.
Build the project:
python -m build
Check the distribution:
twine check dist/*
Upload to test-pypi to validate:
twine upload -r testpypi dist/*
Login with username: (password should be known)
If the test-upload was successful, finally, upload to pypi production:
twine upload dist/*
Done.
(P.S. Do not forget to update the library in your projects: pip install --upgrade fa-models
)bumpver update --patch