Skip to main content

Flywheel Gear Toolkit

⚠️ Deprecation Notice

Notice: The flywheel-gear-toolkit package is deprecated and will reach End-of-Life (EOL) in December 2025. Please migrate to fw-gear. For more information, please refer to the migration guide.


flywheel-gear-toolkit is a library that provides tooling for developing Flywheel gears.

Installation

pip install flywheel-gear-toolkit

Documentation

The documentation for the flywheel-gear-toolkit can be found here.

Contributing

Building

The dependency and virtual environment manager for the gear toolkit is poetry.

poetry install

or

poetry install -E all

to install with extras.

Testing, Linting, Building doc

Linting, Testing and Documentation building are all done using pre-commit.

After installing poetry, the pre-commit command will be installed. Make sure pre-commit hooks are installed by running either poetry run pre-commit install or from within the poetry shell pre-commit install. After hooks are installed, they will automatically be run on each git commit, they can all be skipped by running git commit --no-verify or specific hooks can be skipped by setting the environmental variable, ex. SKIP=test:pre-commit:pytest git commit.

Individual hooks can also be run independently. For example, to build sphinx-doc, you can run pre-commit run publish:doc:test, or to run black on all files: pre-commit run test:flywheel-lint -a. For a list of all hooks, view the pre-commit-config.

Managing dependencies

To add new dependencies to this repo, please use poetry and to follow the below steps:

# Install my-package:
poetry add my-package
# or install my-package as part of the required packages for development (e.g. pytest):
poetry add my-package --dev
# Sync poetry.lock
poetry lock

Building and releasing

Local building

To build the project locally and verify if the build was succesful, you can run

poetry build --format wheel
twine check dist/*.whl

Versioning and project information

The pyproject.toml file has replaced the usual setup.py in this repository and contains information on contributers, maintainers, project description, project URLs, and project version. In order to change any information on the project, it must be changed in the pyproject.toml, file. Documentation for this file can be found here, and information on dependency version specification syntax can be found here

CI for tagging and releasing

There is CI in place to help with tagging and releasing versions and hotfix of the flywheel-gear-toolkit.

Automatic tagging (Not yet enabled)

When a commit that contains the word 'release' is pushed to master or a branch beginning with 'hotfix-' and there are changes to the pyproject.toml file (such as version), gitlab CI will automatically checkout the fix/release, label the branch with the tag found in the current pyproject.toml version, and push the tags.

Automatic publishing

When tags are pushed, either manually or by the previous automatic tagging CI, the publish job wil be triggered which will automatically build the project wheel and push the version to PYPI.

Metadata

Release files for flywheel-gear-toolkit 0.6.22

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for flywheel-gear-toolkit 0.6.22
File Interpreter ABI Platform
flywheel_gear_toolkit-0.6.22-py3-none-any.whl Python 3 none any Details

Release files / flywheel_gear_toolkit-0.6.22-py3-none-any.whl

Download URL flywheel_gear_toolkit-0.6.22-py3-none-any.whl
Size 66.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ccd2ec2bb62025fec6a81b50da055ef3cccbda689a709d1c0160adbd386a4407
BLAKE2b-256 checksum
How to use checksums
50a1c6bb3ff0f799be8f019a477672e04b663f6434bc4568e8f3ca6b718e5a0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.10

Release history Release notifications | RSS feed

This release

0.6.22 This release

1 release file

0.6.21

1 release file

0.6.20

1 release file

0.6.19

1 release file

0.6.18

1 release file

0.6.17

1 release file

0.6.16

1 release file

0.6.15

1 release file

0.6.14

1 release file

0.6.13

1 release file

0.6.12

1 release file

0.6.11

1 release file

0.6.10

1 release file

0.6.9

1 release file

0.6.8

1 release file

0.6.7

1 release file

0.6.6

1 release file

0.6.5

1 release file

0.6.4

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.9

1 release file

0.5.8

1 release file

0.5.7

1 release file

0.5.6

1 release file

0.5.5

1 release file

0.5.4

1 release file

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page