Skip to main content

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 version field 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:
    • X increments represent major, non-backward compatible updates.
    • Y increments represent minor, backward compatible functionality updates.
    • Z increments 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.

Installing the detquantlib package in other Python projects

To install the library in another project, use the following poetry command:

poetry add git+https://github.com/Dynamic-Energy-Trading/detquantlib.git@vX.Y.Z

where vX.Y.Z should be replaced with the relevant version (e.g. v1.2.3).

Development settings

Dependency management

Project dependencies are managed by Poetry.

The project follows the standard Poetry structure:

poetrytemplate
├── 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:

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


Download files

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

Source Distribution

detquantlib-2.0.4.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

detquantlib-2.0.4-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file detquantlib-2.0.4.tar.gz.

File metadata

  • Download URL: detquantlib-2.0.4.tar.gz
  • Upload date:
  • Size: 14.3 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

Hashes for detquantlib-2.0.4.tar.gz
Algorithm Hash digest
SHA256 4ab72f48a2d699db53e24a777dbf54574f91df52b6262d74f7509cc223c72816
MD5 45f3f22df4bb66b86dd369022b1a0893
BLAKE2b-256 00f6a654dd037f80f84c9dc49657ea44996211dca9f7cbf11449c50a586145c2

See more details on using hashes here.

File details

Details for the file detquantlib-2.0.4-py3-none-any.whl.

File metadata

  • Download URL: detquantlib-2.0.4-py3-none-any.whl
  • Upload date:
  • Size: 16.3 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

Hashes for detquantlib-2.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1f27dd7550da1d6092af1fe189ddb17c917179545b1fc742830b0f1aa73ad103
MD5 43386e6b42a1072659d1b525168bf88b
BLAKE2b-256 479a813ec0171b02e6c982e1194f4bbecd196e27208e33374b6eb992a14aef6e

See more details on using hashes here.

Supported by

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