semvec/pypi-packages huggingface dataset:
modify-repos 0.2.0
Apply changes across multiple repos at once.
Requires Python: ~=3.13.0

# modify-repos

Clone, modify, and create pull requests across multiple repositories at once.

> [!WARNING]
> This is under development, and how it's used may change at any time.

Documentation: <https://modify-repos.readthedocs.io/>

## Example Use

Use [uv] to create a script that depends on this library.

```
$ uv init --script mod.py
$ uv add --script mod.py modify-repos
```

Subclass `modify_repos.GitHubScript` to define the repositories to change and
what changes to make. This uses the [gh] GitHub CLI, which must already be
installed and logged in.

```python
from modify_repos import GitHubScript, GitHubRepo

class MyScript(GitHubScript):
    # title used in commit and PR
    title = "..."
    # description used in commit and PR
    body = "..."
    # branch to merge into, defaults to main
    target = "main"
    # branch to create and PR
    branch = "my-changes"
    # one or more users/orgs to clone repos from
    orgs = ["username"]

    def select_for_clone(self, repo: GitHubRepo) -> bool:
        # filter to only clone some of the available repos
        return repo.name in {"a", "b", "d"}

    def modify(self, repo: GitHubRepo) -> None:
        # make any changes, such as add/remove files, here
        ...

if __name__ == "__main__":
    MyScript().run()
```

Call `uv run mod.py`, and it will clone and modify all the selected repos. PRs
will not be created unless you use `MyScript(submit=True)` instead, so you can
develop and preview your changes first.

[uv]: https://docs.astral.sh/uv/
[gh]: https://cli.github.com/

## Develop

This project uses [uv] to manage the development environment and [tox] to define
different tests and management scripts.

```
# set up env
$ uv sync
$ uv run pre-commit install --install-hooks

# run tests and checks
$ uv run tox p

# develop docs with auto build and serve
$ uv run tox r -e docs-auto

# update dependencies
$ uv run tox r -m update
```

[tox]: https://tox.wiki/
pymichelangelo 0.1.0
Michelangelo is an end-to-end model lifecycle management system at large scale
Requires Python: <4.0.0,>=3.9.0

Michelangelo SDK

## User Guide

```
pip install michelangelo
```

TODO: User Guide

## Developer Guide

### Preprequisites

- Python 3.9
- Poetry: https://python-poetry.org

### Cheat Sheet

- Install dependencies: `poetry install`
- Add a new dependency: `poetry add <package-name>`
- Run tests: `poetry run pytest`
- Run examples: `poetry run python ./examples/bert_cola/bert_cola.py`
- Format code: `poetry run black .`
- Run Michelangelo CLI: `poetry run ma --help`

### Environment Setup: Mac

- Install Python 3.9: `brew install python@3.9`
- Install Poetry: `curl -sSL https://install.python-poetry.org | python3.9 -`
- Create Python virtual environment and install packages: `poetry install`

The last step will create a `.venv` directory if it doesn't already exist.
This directory contains a Python virtual environment with all the dependencies installed.
You can activate this virtual environment and use it like any other Python virtual environment, 
or you can run commands via the Poetry CLI, e.g., `poetry run python`, `poetry run pytest`, etc.