Skip to main content

A simple library of trading models.

Project description

fa-models

A set of models often used for trading services. The library offers merely models and is database agnostic.

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

Import in modules without the dash (e.g.): from famodels.signal import Signal

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-models 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-models)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_models-1.1.20.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

fa_models-1.1.20-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file fa_models-1.1.20.tar.gz.

File metadata

  • Download URL: fa_models-1.1.20.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for fa_models-1.1.20.tar.gz
Algorithm Hash digest
SHA256 298bd64a745682dbd03fecb25109b9e87d090c1074892c57d4ad0f1bd52c5cb5
MD5 ca81d909a63cd385a468e49542060a9c
BLAKE2b-256 12e30def202e9726c4183bc146f68d0454408ac6c41a17c113db815236e6e44f

See more details on using hashes here.

File details

Details for the file fa_models-1.1.20-py3-none-any.whl.

File metadata

  • Download URL: fa_models-1.1.20-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for fa_models-1.1.20-py3-none-any.whl
Algorithm Hash digest
SHA256 5e2da6cf0509c281ef0bc51d3e4834bee16d171b4b0815d866b6b60a69f703af
MD5 68cbecd556374649d238d45aab9aa0fd
BLAKE2b-256 bd5a57594ab255ce8f83b1615255bd34a3517d6ad16d4b21481d30b3aad8b3f6

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