Skip to main content

Common developer tools for Digital Marketplace repos

Project description

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.

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

digitalmarketplace_developer_tools-1.7.1.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file digitalmarketplace_developer_tools-1.7.1.tar.gz.

File metadata

File hashes

Hashes for digitalmarketplace_developer_tools-1.7.1.tar.gz
Algorithm Hash digest
SHA256 6d85cc622e769c205c80ac5951d0ef12abbe5b6ea1f1a35a9b79a0bfd7b077f9
MD5 cfc4b96919b5c57b76b05d92ce2ee795
BLAKE2b-256 9d3f0b3cc76fbf7f50ba4b390bf942c63e3971ce195253e0750ef5a9a2216058

See more details on using hashes here.

File details

Details for the file digitalmarketplace_developer_tools-1.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for digitalmarketplace_developer_tools-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 81190e2a9cefb4d7b12e04962baf627d7328371c2d5214d9f08b0ab907e560f7
MD5 12f5a62ba2e5bb01db3cd44530c378d8
BLAKE2b-256 bd3819e4ab8d34e3e0e7785ac416ad23a1d5a6148605a13fa3407078e3422887

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