Skip to main content

Manage Evergreen modules locally.

Project description

Evergreen Module Manager

Manage Evergreen modules in your local environment.

PyPI - Python Version PyPI

Table of contents

  1. Description
  2. Dependencies
  3. Installation
  4. Usage
  5. Contributor's Guide
  6. Resources

Description

The evg-module-manager is a tool to help improve the local workflows of working with modules in your evergreen projects. It will help you keep any modules defined in your local project in sync. It supports the following functionality:

  • List what modules are defined in the local project.
  • List what modules are currently active in your local repo.
  • Clone a module repository.
  • Enable/disable modules in your local repo.
  • Create an evergreen patch build that includes changes from the local patch build and all enabled modules.
  • Submit a changes to the commit-queue that includes changes from the local patch build and all enabled modules.

Dependencies

Installation

We strongly recommend using a tool like pipx to install this tool. This will isolate the dependencies and ensure they don't conflict with other tools.

$ pipx install evg-module-manager

Usage

See the usage documentation for details about using this tool.

evg-module-manager --help
Usage: evg-module-manager [OPTIONS] COMMAND [ARGS]...

  Evergreen Module Manager is a tool help simplify the local workflows of evergreen modules.

Options:
  --modules-dir PATH      Directory to store module repositories [default='..']
  --evg-config-file PATH  Path to file with evergreen auth configuration
                          [default='/Users/user/.evergreen.yml']
  --evg-project TEXT      Name of Evergreen project [default='mongodb-mongo-master']
  --help                  Show this message and exit.

Commands:
  commit-queue  Submit changes from the base repository and any enabled modules to the...
  create-branch Perform git checkout operation to create the branch.
  disable       Disable the specified module in the current repo.
  enable        Enable the specified module in the current repo.
  git-commit    Perform git commit of changes in each module.
  list-modules  List the modules available for the current repo.
  patch         Create an Evergreen patch with changes from the base repo and any enabled...
  pull-request   Create pull request for the changes in each module.
  update-branch Perform git merge|rebase operation to update the branch.

Contributor's Guide

Setting up a local development environment

This project uses poetry for setting up a local environment.

git clone ...
cd evg-module-manager
poetry install

linting/formatting

This project uses black and isort for formatting.

poetry run black src tests
poetry run isort src tests

Running tests

This project uses pytest for testing.

poetry run pytest

Automatically running checks on commit

This project has pre-commit configured. Pre-commit will run configured checks at git commit time. To enable pre-commit on your local repository run:

poetry run pre-commit install

Versioning

This project uses semver for versioning.

Please include a description what is added for each new version in CHANGELOG.md.

Code Review

Please open a Github Pull Request for code review.

Deployment

Deployment to pypi is automatically triggered on merges to main.

Resources

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

evg-module-manager-0.1.8.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

evg_module_manager-0.1.8-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file evg-module-manager-0.1.8.tar.gz.

File metadata

  • Download URL: evg-module-manager-0.1.8.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.9 Linux/5.11.0-1022-azure

File hashes

Hashes for evg-module-manager-0.1.8.tar.gz
Algorithm Hash digest
SHA256 95d21567c473b2ce1259365a978f1f13d5cba512f1edd26d7077cec99fcc7d69
MD5 420b26e150aa057087c3ee32ead59ac5
BLAKE2b-256 eed8cd0030a0b5c296e21c44938f7cade6d88d36d55e8d8ebc4c029a5b92b595

See more details on using hashes here.

Provenance

File details

Details for the file evg_module_manager-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: evg_module_manager-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.9 Linux/5.11.0-1022-azure

File hashes

Hashes for evg_module_manager-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 5ca85c457f4fadf1aa09dbf42da57effcb50240ceb3695fcabb04b65ccdfec2f
MD5 ee4a144fbce9cec630933f0b006aa096
BLAKE2b-256 5a3122362c005a010759bf7679790ee6b86c14fe8b15c93f621f45ffe36b6d98

See more details on using hashes here.

Provenance

Supported by

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