Skip to main content

Syllabub project bolt-on

Keep Python project conventions up-to-date and worry less about trifling matters. 🍰

Status

Unstable prototype. Please wear goggles.

Background

High-quality software projects demand more contribution effort. Syllabub makes assumptions so that:

  • maintainers make fewer, less frequent project-level decisions
  • contributors require less up-front learning, but can dive into detail when required
  • Syllabub is not required as a dependency

Alternatives

Other Python scaffolding tools include:

These tools are general-purpose, allowing a maintainer to define an entire project template. Syllabub has fewer options and uses a built-in template.

Usage

  • Set values in pyproject.toml.
  • Invoke syllabub to overwrite boilerplate files.
  • Review and modify diff.
  • Commit changes.

Use case scenarios

Feature: Syllabub Project Generation

  Scenario: Create a new Syllabub-style project

    Given a valid pyproject.toml file
    And an empty folder
    When Syllabub is executed
    Then pyproject.toml will be updated
    And all project files will be created
    And code and placeholders will be generated

  Scenario: Update an existing Syllabub-style project

    Given a project with a valid pyproject.toml file
    When Syllabub is executed
    Then pyproject.toml will be updated
    And all project files will be overwritten
    But existing entry points will not be overwritten
    And changes must be reviewed before committing

  Scenario: Migrate an existing project to Syllabub conventions

    Given a project with a valid pyproject.toml file
    When Syllabub is executed
    Then pyproject.toml will be updated
    And all project files will be overwritten
    But existing entry points will not be overwritten
    And non-syllabub project files must be removed
    And changes must be reviewed before committing

Development environment

Install prerequisites

  • Python 3.10
  • pdm
  • make

Instructions

  • Fork the upstream repository.
  • git clone [fork-url]
  • cd [project-folder]
  • Run make develop to initialise your development environment.

You can use any text editor or IDE that supports virtualenv / pdm. See the Makefile for toolchain details.

Please make test and make lint before submitting changes.

Make targets

USAGE: make [target]

help    : Show this message.
develop : Set up Python development environment.
run     : Run from source.
clean   : Remove all build artefacts.
test    : Run tests and generate coverage report.
lint    : Fix or warn about linting errors.
build   : Clean, test, lint, then generate new build artefacts.
publish : Upload build artefacts to PyPI.

Sharing and contributions

Syllabub project bolt-on
https://lofidevops.neocities.org
Copyright 2022 David Seaward and contributors
SPDX-License-Identifier: AGPL-3.0-or-later

Shared under AGPL-3.0-or-later. We adhere to the Contributor Covenant 2.1, and certify origin per DCO 1.1 with a signed-off-by line. Contributions under the same terms are welcome.

Submit security and conduct issues as private tickets. Sign commits with git commit --signoff. For a software bill of materials run reuse spdx. For more details see CONDUCT, COPYING and CONTRIBUTING.

Metadata

Release files for syllabub 0.1.6

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

Source distribution (sdist)

Source distribution for syllabub 0.1.6
File Size Uploaded Provenance Actions
syllabub-0.1.6.tar.gz 65.2 kB Without provenance Details for syllabub-0.1.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for syllabub 0.1.6
File Interpreter ABI Platform Actions
syllabub-0.1.6-py3-none-any.whl Python 3 none any Details for syllabub-0.1.6-py3-none-any.whl

Total release size: 140.6 kB

Release files / syllabub-0.1.6.tar.gz

Download URL syllabub-0.1.6.tar.gz
Size 65.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5290eb75066d0e2e4e7697d2893cb36c0c1447856e880f18db9f71b33293caca
BLAKE2b-256 checksum
How to use checksums
6ec011226abfc67b688f0ec61fd672646fbdcfac82ac1fe81d3aa37b460df074
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.5.2 CPython/3.10.6

Release files / syllabub-0.1.6-py3-none-any.whl

Download URL syllabub-0.1.6-py3-none-any.whl
Size 75.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
03a33d8c7071b7dfa5a3a230bffde9861d97098d25985374e0f1ff18c79dcd6a
BLAKE2b-256 checksum
How to use checksums
29cefaa3b029e045bf4d9648c0d1fa1dce52eaf2221b958bfb654b1c122b9305
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.5.2 CPython/3.10.6

Security for syllabub 0.1.6

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.

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