An internal library containing functions and classes that can be used across Quant models.
Project description
DET Quant Library
The DET Quant Library is an internal library containing functions and classes that can be used across Quant models.
Instructions
Version control
- This repository contains a version control workflow.
- The version number is specified via the
versionfield in the pyproject.toml file. - The version number needs to be updated with every new master commit. If the version is not updated, the GitHub workflow will fail.
- Version numbers should follow semantic versioning (i.e.
X.Y.Z). That is:Xincrements represent major, non-backward compatible updates.Yincrements represent minor, backward compatible functionality updates.Zincrements represent patch/bugfix, backward compatible updates.
Release notes
- When deemed necessary (especially in case of major updates), developers can document code changes in dedicated GitHub release notes.
- Release notes can be created via https://github.com/Dynamic-Energy-Trading/detquantlib/releases.
- In any case, all codes changes should always be properly described/documented in GitHub issues and/or pull requests.
Development settings
Dependency management
Project dependencies are managed by Poetry.
The project follows the standard Poetry structure:
project
├── pyproject.toml
├── README.md
├── src
│ └── __init__.py
└── tests
└── __init__.py
Dependency updates
This project is executing automated dependency updates using Dependabot with GitHub actions.
Invoke development tasks
Development tasks are defined with the Invoke package.
What is Invoke?
Invoke provides a clean, high level API for running shell commands and defining/organizing task functions from a tasks.py file.
How to run development tasks?
Development tasks can be executed directly from the terminal, using the inv (or invoke)
command line tool.
For guidance on the available Invoke development tasks, execute the following command in the terminal:
inv --list
Use the -h (or --help) argument for help about a particular development task. For example:
inv lint -h
CI/CD process
This project is executing CI checks using GitHub actions workflows.
The GitHub workflow defined in this project was inspired by the following preconfigured templates:
- Python package: A general workflow template for Python packages.
- Poetry action: A GitHub action for installing and configuring Poetry.
CI check: Testing
Code changes are tested with the Pytest package.
The CI check is executed with the following the development task:
inv test -c
CI check: Code formatting
Linters are used to check that the code is properly formatted:
- Isort for the imports section
- Darglint for the docstrings description
- Black for the main code
- Pymarkdown for the markdown file README.md
The CI check is executed with the following development task:
inv lint -c
If the CI check fails, execute the following command in the terminal:
inv lint
This command fixes the parts of the code that should be reformatted. Adding the -c (or
--check) optional argument instructs the command to only check if parts of the code should be
reformatted, without applying any actual changes.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file detquantlib-2.1.0.tar.gz.
File metadata
- Download URL: detquantlib-2.1.0.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.11.11 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
635269580b088c285a0c78cac5bf597af535a1185066899468bc975bcbc5c332
|
|
| MD5 |
89ffbb226b11e4714db0d741940ac0f9
|
|
| BLAKE2b-256 |
6fbab73941fecff089374c46ae97aa4f837ca713c2c5b2447bfc4f5273710121
|
File details
Details for the file detquantlib-2.1.0-py3-none-any.whl.
File metadata
- Download URL: detquantlib-2.1.0-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.11.11 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbec61e01a675924e1bc03f55bbddf3cc1b853055259b1fc69ddfcc97396a469
|
|
| MD5 |
85be4f8bb72360d17b0dc9d59ff218ad
|
|
| BLAKE2b-256 |
a93be3a5307408778389c350da6a83b71925886400859d80748be24deb86aced
|