Skip to main content

Digital Marketplace developer tools

Common developer tooling for Digital Marketplace repos.

Quickstart

Install the digitalmarketplace-developer-tools package from PyPI and run Invoke in a Digital Marketplace repo to see what tasks are available:

$ pip install digitalmarketplace-developer-tools
$ invoke --list

Stuff in this repo

Invoke tasks

Developers on the Digital Marketplace need to be able to easily set-up a developer environment for a repo, so they can quickly start making changes to the code.

Traditionally this need has been met with make, however on the Digital Marketplace we are starting to use Invoke instead.

Invoke lets us write tasks once and use them for multiple repos. Being written in Python, we can create a library of tasks and publish them on PyPI for reuse. The package for this repo includes these tasks.

To start using the tasks in a repo, add a tasks.py file and import the collection of tasks appropriate for the repo. For instance, for a frontend app:

# tasks.py
from dmdevtools.invoke_tasks import frontend_app_tasks as ns

The as ns part is needed so that the invoke command line tool sees the imported tasks, read the Invoke documentation on collections and namespaces for more details on how this works.

For backwards-compatibility, make can still be used for a repo. Just copy the Makefile from this repo (or just the % goal), and any unrecognised goals will be sent to invoke.

Pre-commit hooks

This project has a pre-commit hook to do some general file checks and check the pyproject.toml. Follow the Quick start to see how to set this up in your local checkout of this project.

Licence

Unless stated otherwise this codebase is released under the MIT License. This covers both the codebase and any sample code in the documentation.

The documentation is © Crown copyright and available under the terms of the Open Government 3.0 licence.

Metadata

Release files for digitalmarketplace-developer-tools 2.0.0

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

Source distribution (sdist)

Source distribution for digitalmarketplace-developer-tools 2.0.0
File Size Uploaded Provenance Actions
digitalmarketplace_developer_tools-2.0.0.tar.gz 6.1 kB Without provenance Details for digitalmarketplace_developer_tools-2.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for digitalmarketplace-developer-tools 2.0.0
File Interpreter ABI Platform Actions
digitalmarketplace_developer_tools-2.0.0-py3-none-any.whl Python 3 none any Details for digitalmarketplace_developer_tools-2.0.0-py3-none-any.whl

Total release size: 12.5 kB

Release files / digitalmarketplace_developer_tools-2.0.0.tar.gz

Download URL digitalmarketplace_developer_tools-2.0.0.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e6a98864b3f51593347ce2f65b30ff79c217d94a70eeb061cc3ad3ab1d17babf
BLAKE2b-256 checksum
How to use checksums
49c6ce3ea0d5a2b29d7843a3e577167899577862a82570a75119ed23efd22ee9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / digitalmarketplace_developer_tools-2.0.0-py3-none-any.whl

Download URL digitalmarketplace_developer_tools-2.0.0-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08419a7eedb9d859c20c7d1b2433aca1e3aac8f5fc02611c80a9f330fcbcb9b5
BLAKE2b-256 checksum
How to use checksums
d4e8d5829ee58dfb3e3949afbbe1b6dd57d2da1e170ec0de3ead3d84b2cc7114
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Security for digitalmarketplace-developer-tools 2.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

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