A model library for all signal providers of Freya Alpha using python. It includes models to handle signal ingestion, signal status reports, profit & performance reports, etc.
Project description
fa-signal-provider
A model library for all signal providers of Freya Alpha using python. It includes models to handle signal ingestion, signal status reports, profit and performance reports, etc.
Sponsors
Freya Alpha, The Kára System, Spark & Hale Robotic Industries
General
Run and compiled for Python 3.9.13. Expected to run for Python 3+
Development
Testing
run tests with pytest -s -vv
to see all the details. This is extremely important for the library. It could make multiple pods fail.
Installation as Consuming Developer
Simply run: pip install fa-signal-provider
Import in modules without the dash (e.g.): from fasignalprovider.trading_signal import TradingSignal
Setup as Contributor
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
Build Library
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.
Reference from a different project
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-signal-provider whatever you recommend to improve. Don't forget the Open-Closed Principle: extend only (unless it requires a breaking change)
Releasing a new version
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.
Manual and old process
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-signal-provider
)bumpver update --patch
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fa_signal_provider-1.1.35.tar.gz
.
File metadata
- Download URL: fa_signal_provider-1.1.35.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e79185ca319b0e21c70add7a621c2733ac8f510eac334d991a57af036a3077a9 |
|
MD5 | a22ed9d559c971f1fefa4f363f6c6e0b |
|
BLAKE2b-256 | 5c7ad9df7c7b4596e0f105ca8da81e87e25ae4202a2aa7a164fc39011ca0e277 |
File details
Details for the file fa_signal_provider-1.1.35-py3-none-any.whl
.
File metadata
- Download URL: fa_signal_provider-1.1.35-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5196625626f05c70ec21284cf77a1f1a0989f10d04636b14439541e60bca0079 |
|
MD5 | d5a82bb59face97913a78e11096d1dd3 |
|
BLAKE2b-256 | da2ab9b3bffb96d31927059590bc9b6f436727ba1145bced0c7537face8531b1 |