Skip to main content

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 deactivateto 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fa_signal_provider-1.1.35.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

fa_signal_provider-1.1.35-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

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

Hashes for fa_signal_provider-1.1.35.tar.gz
Algorithm Hash digest
SHA256 e79185ca319b0e21c70add7a621c2733ac8f510eac334d991a57af036a3077a9
MD5 a22ed9d559c971f1fefa4f363f6c6e0b
BLAKE2b-256 5c7ad9df7c7b4596e0f105ca8da81e87e25ae4202a2aa7a164fc39011ca0e277

See more details on using hashes here.

File details

Details for the file fa_signal_provider-1.1.35-py3-none-any.whl.

File metadata

File hashes

Hashes for fa_signal_provider-1.1.35-py3-none-any.whl
Algorithm Hash digest
SHA256 5196625626f05c70ec21284cf77a1f1a0989f10d04636b14439541e60bca0079
MD5 d5a82bb59face97913a78e11096d1dd3
BLAKE2b-256 da2ab9b3bffb96d31927059590bc9b6f436727ba1145bced0c7537face8531b1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page