Skip to main content

Download some projects.

Project description

pully

pipeline status coverage report latest release pre-commit cici enabled code style: prettier

pully is a tool for managing a large number of Git repository checkouts effectively.

Why pully

pully was created to make managing and automating changes to multiple projects easier. There are two general use cases pully is designed to address. First, a mass action where a a set of projects is cloned and the same action is run on each project. Second, managing a local workspace for a set of projects.

Large scale changes

pully helps solve problems where you need to make the same action across multiple projects.

  • Update the copyright date in the license file of all projects.
  • Update pre-commit versions in all projects.
  • Add badgie to all projects.

The recommended workflow in this case is to use pully to clone workspaces for mass actions not regular development. Avoid using the same project workspaces for both regular development and automated actions. Different branches, new files, and unknown state that are common in work in progress are likely to interfere with scripted changes.

Manage local workspaces

pully can be used to do an initial clone of projects for regular development. This is convenient when onboarding new developers or setting up a new environment. Common tasks like pulling the latest main or pruning remote branches are easy to do. Beware of scripting changes to multiple projects since the status of each project may different and cause unexpected results.

We recommend only automating commands that update the local workspace not any that push changes to prevent accidents. We expect to automate some common update tasks in the future.

Installation

python3 -m pip install pully

Usage

Initialize a project workspace

Run pully init to create a project workspace.

pully init

A .pully.json will be created in the current directory that will be used to track project checkouts.

Add a project for tracking

Only newly added projects will be printed.

Track a group by path:

pully add -G saferatday0

Track a subgroup by path:

pully add -G saferatday0/infra

Track a project by path:

pully add -P saferatday0/badgie

Pull local copy

Call pully with no options to clone or pull the project to your local filesystem:

pully

This is the same as calling pully pull:

pully pull

Advanced usage

pully allows you to customize your local checkout for different use cases.

Check out an arbitary subset of projects:

pully add -P saferatday0/badgie
pully add -P saferatday0/cici
pully add -G saferatday0/library
pully

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

pully-0.5.2.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

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

pully-0.5.2-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file pully-0.5.2.tar.gz.

File metadata

  • Download URL: pully-0.5.2.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for pully-0.5.2.tar.gz
Algorithm Hash digest
SHA256 5c06912101c6a1ae8b372b538b8457470ec86d0c5d3c2b24f354d21286caac70
MD5 c8eaf866b06d8bf6156fef7775523534
BLAKE2b-256 172d8717a26cb71c9a1cd4d4904dd7b202c58728ab5c055a7efd947286f44c59

See more details on using hashes here.

File details

Details for the file pully-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: pully-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for pully-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a80de79063fb83c056a195415cd96c12b7fe5f98c108f5dc19b8f036f4c6c86b
MD5 d22d6da1b87785d3ebf9d4c0438111c3
BLAKE2b-256 c211251e79fba79e7faaa029ca00594692b3bba8e5e2f6839e960cbc8cd04fc7

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