Cutty

Latest version: v0.18.0

Safety actively analyzes 619477 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

0.18.0

:rocket: Features

* ✨ [entrypoints] Report success from `cutty` commands (680) cjolowicz
* ✨ [entrypoints] Report success from `cutty {import,update} --{abort,continue}` (699) cjolowicz

:beetle: Fixes

* 🐛 [git] Use comment markers for "Conflicts:" hint in commit messages (712) cjolowicz
* 🐛 [projects] Remove cutty.json from "Conflicts:" comment when committing (727) cjolowicz
* 🐛 [projects] Do not remove bindings from cutty.json when importing old commits (728) cjolowicz

:rotating_light: Testing

* 🔧 [pre-commit] Add pre-commit hook for pyupgrade (690) cjolowicz
* 🔧 [coverage] Include test suite in code coverage (687) cjolowicz

:construction_worker: Continuous Integration

* 👷 [github] Enable colors from pre-commit, pytest, Sphinx, and xdoctest (693) cjolowicz
* 👷 [github] Pin pip in virtual environments (695) cjolowicz
* 👷 [nox] Run coverage under the latest Python release (696) cjolowicz
* 👷 [github] Test against Python 3.11 (697) cjolowicz
* 👷 [github] Cache build directory for libgit2 (698) cjolowicz
* ✨ [nox] Support patching pre-commit hooks written in bash (711) cjolowicz
* 👷 [dependabot] Upgrade all dependencies while minimizing merge conflicts (713) cjolowicz
* 👷 [github] Increase limit for open Dependabot PRs (719) cjolowicz

:books: Documentation

* 📚 Use furo Sphinx theme for documentation (692) cjolowicz

:hammer: Refactoring

* 🔨 [packages] Remove default for `Package.date` (679) cjolowicz
* 🔨 [functional] Simplify fixture `template_directory` (700) cjolowicz
* 🚚 [variables] Move tests from `tests.unit.{rendering => variables}` (707) cjolowicz

:package: Dependencies

* ⬆️ Support Python 3.10 (555) cjolowicz
* 📦 [poetry] Avoid semver constraints for dependencies using CalVer (691) cjolowicz
* Bump actions/cache from 2.1.6 to 2.1.7 (688) dependabot
* Bump actions/setup-python from 2.2.2 to 2.3.0 (682) dependabot
* Bump actions/setup-python from 2.3.0 to 2.3.1 (708) dependabot
* Bump anyio from 3.3.4 to 3.4.0 (721) dependabot
* Bump bandit from 1.7.0 to 1.7.1 (715) dependabot
* Bump black from 21.10b0 to 21.11b1 (685) dependabot
* Bump charset-normalizer from 2.0.7 to 2.0.9 (720) dependabot
* Bump coverage from 6.1.1 to 6.1.2 (678) dependabot
* Bump coverage from 6.1.2 to 6.2 (706) dependabot
* Bump filelock from 3.3.2 to 3.4.0 (718) dependabot
* Bump flake8-bugbear from 21.11.28 to 21.11.29 (709) dependabot
* Bump flake8-bugbear from 21.9.2 to 21.11.28 (705) dependabot
* Bump furo from 2021.11.12 to 2021.11.23 in /docs (694) dependabot
* Bump httpx from 0.20.0 to 0.21.1 (681) dependabot
* Bump identify from 2.3.5 to 2.4.0 (726) dependabot
* Bump imagesize from 1.2.0 to 1.3.0 (714) dependabot
* Bump nox-poetry from 0.8.6 to 0.9.0 in /.github/workflows (684) dependabot
* Bump packaging from 21.2 to 21.3 (716) dependabot
* Bump pbr from 5.7.0 to 5.8.0 (723) dependabot
* Bump poetry from 1.1.11 to 1.1.12 in /.github/workflows (701) dependabot
* Bump pre-commit from 2.15.0 to 2.16.0 (710) dependabot
* Bump prompt-toolkit from 3.0.22 to 3.0.23 (703) dependabot
* Bump pygit2 from 1.7.0 to 1.7.1 (686) dependabot
* Bump pyparsing from 2.4.7 to 3.0.6 (724) dependabot
* Bump regex from 2021.11.2 to 2021.11.10 (722) dependabot
* Bump snowballstemmer from 2.1.0 to 2.2.0 (725) dependabot
* Bump sphinx from 4.2.0 to 4.3.0 (677) dependabot
* Bump sphinx from 4.2.0 to 4.3.0 in /docs (676) dependabot
* Bump sphinx from 4.3.0 to 4.3.1 (704) dependabot
* Bump sphinx from 4.3.0 to 4.3.1 in /docs (702) dependabot
* Bump typeguard from 2.13.0 to 2.13.2 (689) dependabot
* Bump typing-extensions from 3.10.0.2 to 4.0.1 (717) dependabot
</details>

0.17.0

:rocket: Features

* ✨ [packages] Preserve dates when importing Mercurial changesets (674) cjolowicz
* ✨ [projects] Preserve date when importing git commits (673) cjolowicz
* ✨ [projects] Only copy author information when importing template commits (672) cjolowicz
* ✨ [projects] Preserve author information when importing changes from Mercurial repositories (669) cjolowicz
* ✨ [projects] Preserve author information when importing changes from git repositories (668) cjolowicz

:hammer: Refactoring

* 🔨 [packages] Consolidate repository hooks into `lookup` function returning `Commit` instance (671) cjolowicz

:package: Dependencies

* Bump jinja2 from 3.0.2 to 3.0.3 (670) dependabot
</details>

0.16.0

:rocket: Features

* ✨ [templates] Re-implement prompts using questionary instead of click (659) cjolowicz

:beetle: Fixes

* 🐛 [projects] Fix unwarranted staging on import and conflict resolution (665) cjolowicz

:construction_worker: Continuous Integration

* 👷 [github] Install Poetry and Nox using pipx in Tests workflow (664) cjolowicz

:hammer: Refactoring

* 🔨 [templates] Restructure into packages `cutty.{variables,rendering}` (661) cjolowicz
* 🔨 [projects] Minor refactorings in `TemplateProvider` (660) cjolowicz
* 🔨 [packages] Replace callbacks with `PackageRepositoryLoader` class hierarchy (658) cjolowicz
* 🔨 [packages] Combine functions into class `MercurialPackageRepository` (654) cjolowicz
* 🔨 [packages] Combine functions into class `GitPackageRepository` (653) cjolowicz

:package: Dependencies

* ⬆ [poetry] Update dependencies (666) cjolowicz
* ➖ [poetry] Remove pluggy from dependencies (663) cjolowicz
* Bump sphinx-click from 3.0.1 to 3.0.2 (657) dependabot
* Bump sphinx-click from 3.0.1 to 3.0.2 in /docs (656) dependabot
* Bump actions/checkout from 2.3.5 to 2.4.0 (655) dependabot
</details>

0.15.0

:rocket: Features

* ✨ [services] Add command `cutty import` to apply individual template changes (627) cjolowicz
* ✨ [entrypoints] Improve error message for merge conflicts (628) cjolowicz
* ✨ [packages] Bail out on `cutty import` if template has no version history (633) cjolowicz
* ✨ [packages] Resolve parent revisions in git provider (634) cjolowicz
* ✨ [packages] Resolve parent revisions in Mercurial provider (635) cjolowicz
* ✨ [projects] Store full commit identifier in cutty.json (636) cjolowicz
* ✨ [packages] Preserve commit message in `cutty import` (640) cjolowicz
* ✨ [entrypoints] Add `cutty import <variable>=<value>` (642) cjolowicz
* ✨ [entrypoints] Add `cutty import --cwd=<directory>` (643) cjolowicz
* ✨ [entrypoints] Add `cutty import --non-interactive` (644) cjolowicz
* ✨ [entrypoints] Add `cutty import --template-directory=<directory>` (647) cjolowicz
* ✨ [entrypoints] Add `cutty import --abort` and `--continue` (648) cjolowicz
* ✨ [entrypoints] Improve error message for merge conflicts (628) cjolowicz

:rotating_light: Testing

* 🔧 [mypy] Warn about unreachable code (650) cjolowicz

:hammer: Refactoring

* 🚚 Rename package `cutty.{repositories => packages}` and classes `{Repository => Package}{,Storage}` (608) cjolowicz
* 🔨 Add class `PackageRepository`, use context managers for packages (609) cjolowicz
* 🔨 Move `Package.descend` from `ProviderRegistry` to `Template` (610) cjolowicz
* 🔨 [packages] Return `PackageRepository` from `Provider.provide` (613) cjolowicz
* 🔨 Move `hg update` from `hgfetcher` to mounter (614) cjolowicz
* 🔨 Remove parameter `revision` from fetchers (615) cjolowicz
* 🔨 Delay filesystem mounting to `PackageRepository.get` (616) cjolowicz
* 🔨 Do not pass revision to `Provider.provide` and `ProviderRegistry.getrepository` (617) cjolowicz
* 🔨 Return context manager from package mounters (618) cjolowicz
* 🔨 [packages] Use `hg archive` to mount Mercurial repository revisions (619) cjolowicz
* 🔨 Replace callable fetchers with class hierarchy (620) cjolowicz
* 🔨 Extract function `Fetcher.match` (621) cjolowicz
* 🔨 [packages] Refactor `ProviderRegistry` for readability` (622) cjolowicz
* 🔥 [packages] Remove enum `FetchMode` (623) cjolowicz
* 🔨 [packages] Minor refactorings (624) cjolowicz
* 🔨 [packages] Inline class `BaseProvider` (625) cjolowicz
* 🔨 [projects] Rename module `{project => }config` and make `ProjectConfig` instances immutable (626) cjolowicz
* 🔨 [packages] Move classes `PackageRepository` and `DefaultPackageRepository` to separate module (629) cjolowicz
* 🔨 [packages] Rename attribute `Package.{path => tree}` (630) cjolowicz
* 🔨 [projects] Extract classes `TemplateRepository` and `TemplateProvider` (631) cjolowicz
* 🔨 [packages] Add `getparentrevision` callback for template providers (632) cjolowicz
* 🔨 [projects] Move conflict resolution from `services.import_` to `ProjectRepository.import_` (639) cjolowicz
* 🔨 [packages] Remove duplication in git and Mercurial providers (641) cjolowicz
* 🔨 [tests] Move duplicated test utilities to `tests.util.variables` (651) cjolowicz

:package: Dependencies

* Bump black from 21.9b0 to 21.10b0 (637) dependabot
* Bump coverage from 6.0.2 to 6.1.1 (638) dependabot
* Bump pip from 21.3 to 21.3.1 in /.github/workflows (611) dependabot
* Bump virtualenv from 20.8.1 to 20.9.0 in /.github/workflows (612) dependabot
* Bump virtualenv from 20.9.0 to 20.10.0 in /.github/workflows (645) dependabot
* Bump yarl from 1.7.0 to 1.7.2 (646) dependabot
* ⬆ Require pygit2 ^1.7.0 (607) cjolowicz
* 🔧 Link to cookiecutter-hypermodern-python 391a7c2 (606) cjolowicz
</details>

0.14.0

:boom: Breaking Changes

* 💥 [entrypoints] Rename option `--checkout` to `--revision` (543) cjolowicz
* 💥 [entrypoints] Rename option `--no-input` to `--non-interactive` (544) cjolowicz
* 💥 [projects] Reset existing `cutty/latest` branch in `cutty link` (548) cjolowicz
* 💥 [services] Use cutty.json to determine the base revision for updates (558) cjolowicz
* 💥 [projects] Do not create long-living branches to track project updates (565) cjolowicz
* 💥 [entrypoints] Rename option `cutty create --output-dir` to `--cwd` (571) cjolowicz
* 💥 [entrypoints] Rename option `--directory` to `--template-directory` (572) cjolowicz
* 💥 [entrypoints] Remove option `cutty update --skip` (594) cjolowicz
* 💥 [entrypoints] Remove options `cutty create --skip-if-file-exists` and `--overwrite-if-exists` (600) cjolowicz

:rocket: Features

* ✨ [projects] Store template revision in cutty.json (556) cjolowicz
* ✨ [projects] Bail on `cutty update --{continue,abort,skip}` without update in progress (567) cjolowicz
* ✨ [projects] Improve commit message when skipping an update (568) cjolowicz
* ✨ [projects] Create empty root commit in projects (583) cjolowicz
* ✨ [services] Read project configuration from cutty.json if it exists, in `cutty link` (593) cjolowicz
* 🚸 [projects] Improve commit messages for root commit and project creation (596) cjolowicz

:beetle: Fixes

* 🐛 [projects] Do not apply changes from revision already in cutty.json (569) cjolowicz
* 🐛 [util] Do not commit untracked files in `cutty update` (582) cjolowicz
* 🐛 [projects] Do not commit untracked files in `cutty create` (585) cjolowicz
* 🐛 [projects] Do not commit untracked files in `cutty link` (589) cjolowicz
* 🐛 [projects] Do not leak branch if project generation fails (590) cjolowicz

:rotating_light: Testing

* ✅ [functional] Add test for `cutty update` after reverted update (551) cjolowicz
* ✅ [functional] Add another test for `cutty create` with untracked files (588) cjolowicz

:hammer: Refactoring

* 🚚 [projects] Move `ProjectConfig` from `templates` to `projects` (553) cjolowicz
* 🔨 [util] Remove obsolete workaround when pruning git worktrees (554) cjolowicz
* 🔨 [projects] Represent template directory as pathlib.Path (557) cjolowicz
* 🔨 [projects] Do not squash initial empty commit in `ProjectRepository.reset` (566) cjolowicz
* 🔨 [services] Slide `generate` before `Repository.worktree` (570) cjolowicz
* 🔨 [services] Use positional parameter for bindings in `generate` (573) cjolowicz
* 🔨 [projects] Extract functions `ProjectRepository.{store,root}` (574) cjolowicz
* 🔨 [services] Use unpacking to concatenate bindings in `update` and `link` (575) cjolowicz
* 🔨 [projects] Extract class `ProjectBuilder` from `ProjectRepository` (576) cjolowicz
* 🔨 [projects] Store commit ID in `ProjectBuilder.commit` instead of `pygit2.Commit` (577) cjolowicz
* 🔨 [projects] Extract function `ProjectBuilder.commit(message)`, derive attribute `ProjectBuilder.path` (578) cjolowicz
* 🔨 [projects] Extract function `ProjectRepository.import_`, inline function `ProjectRepository.update` (579) cjolowicz
* 🔨 [projects] Re-extract function `ProjectRepository.link` (580) cjolowicz
* 🔨 [projects] Pass `projectdir` to `storeproject` (584) cjolowicz
* 🔨 [projects] Move functions `{create,link,update}commitmessage` to `messages` (586) cjolowicz
* 🔨 [projects] Hide root commit creation from `ProjectRepository` interface (587) cjolowicz
* 🔨 [projects] Add `files` parameter to function `ProjectRepository.link` (592) cjolowicz
* 🔨 [projects] Merge function `ProjectRepository.link` into `ProjectRepository.import_` (595) cjolowicz
* 🔨 [projects] Extract function `_create` from `update` (597) cjolowicz
* 🔨 [projects] Rename functions `ProjectRepository.{continue{update => _},abort{update => }}` (599) cjolowicz
* 🔨 [projects] Extract function `buildproject` from `services.{update,link}` (601) cjolowicz
* 💡 [services] Drop "Cookiecutter" from docstrings (602) cjolowicz
* 🔨 [projects] Extract attribute `Project.template` with template metadata (603) cjolowicz
* 🔨 [services] Reuse `projects.build` in `services.create` (604) cjolowicz

:package: Dependencies

* ⬆ Bump actions/checkout from 2.3.4 to 2.3.5 (581) dependabot
* ⬆ Update cookiecutter-hypermodern-python to 391a7c2 (542) cjolowicz
* ⬆ Bump click from 8.0.1 to 8.0.3 (560) dependabot
* ⬆ Bump coverage from 5.5 to 6.0 (541) dependabot
* ⬆ Bump coverage from 6.0 to 6.0.1 (550) dependabot
* ⬆ Bump coverage from 6.0.1 to 6.0.2 (563) dependabot
* ⬆ Bump flake8 from 3.9.2 to 4.0.1 (559) dependabot
* ⬆ Bump httpx from 0.19.0 to 0.20.0 (564) dependabot
* ⬆ Bump jinja2 from 3.0.1 to 3.0.2 (546) dependabot
* ⬆ Bump pip from 21.2.4 to 21.3 in /.github/workflows (562) dependabot
* ⬆ Bump poetry from 1.1.10 to 1.1.11 in /.github/workflows (545) dependabot
* ⬆ Bump pygit2 from 1.6.1 to 1.7.0 (552) dependabot
* ⬆ Bump typeguard from 2.12.1 to 2.13.0 (561) dependabot
* ⬆ Bump xdoctest from 0.15.9 to 0.15.10 (547) dependabot
* ⬆ Bump yarl from 1.6.3 to 1.7.0 (549) dependabot
* ⬆ [poetry] Bump dependencies (591) cjolowicz
* ⬆ [poetry] Bump dependencies (598) cjolowicz
</details>

0.13.0

Not secure
:rocket: Features

* ✨ [services] Improve commit message for `cutty link` when latest branch already exists (490) cjolowicz
* ✨ [services] Exit with error when templates contain no project files (497) cjolowicz

:beetle: Fixes

* 🐛 [util] Fix `UnboundLocalError` in `git.Repository.worktree` when worktree cannot be created (524) cjolowicz

:rotating_light: Testing

* 🚨 [repositories] Speed up Mercurial-related tests (496) cjolowicz

:hammer: Refactoring

* 🔨 [services] Various refactorings in `create` service (491) cjolowicz
* 🔨 [filestorage] Decouple git repository creation from `cutty.filestorage` (493) cjolowicz
* 🔨 [services] Move repository creation from `create` to its callers (494) cjolowicz
* 🔨 [services] Consolidate git operations in `update` service (500) cjolowicz
* 🔨 [services] Move `Path.cwd()` fallback logic to `entrypoints.cli` (501) cjolowicz
* 🔨 [services] Consolidate git operations in `link` service (502) cjolowicz
* 🔨 [services] Consolidate git operations in `create` service (504) cjolowicz
* 🔨 [projects] Move git operations on projects to `cutty.projects` (505) cjolowicz
* 🔨 [services] Move function `create.create` to `generate.generate` (506) cjolowicz
* 🔨 [services] Remove default arguments from functions (507) cjolowicz
* 🔨 [services] Add class `Template` and separate template loading from project generation (508) cjolowicz
* 🔨 [services] Return `Template` from `loadtemplate` combining `Repository` with the function arguments (509) cjolowicz
* 🔨 [projects] Separate query and command in `createproject` parameter of `linkproject` (510) cjolowicz
* 🔨 [projects] Separate query and command in `createproject` parameter of `updateproject` (511) cjolowicz
* 🔨 [projects] Rename callback parameter `createproject` to `generateproject` (513) cjolowicz
* 🔨 [projects] Use `Template` in `creategitrepository` and `*commitmessage` helpers (514) cjolowicz
* 🔨 [projects] Move common fixtures to `conftest.py` (515) cjolowicz
* 🔨 [projects] Move template loading and project generation out of `services` (516) cjolowicz
* 🔨 [services] Extract `cookiecutter.createproject` and minor refactorings (517) cjolowicz
* 🔨 [projects] Combine functions into class `ProjectRepository` (518) cjolowicz
* 🔨 [projects] Replace function `loadtemplate` with factory method `Template.load` (519) cjolowicz
* 🔨 [projects] Move class `TemplateMetadata` to `Template.Metadata` (521) cjolowicz
* 🔨 [util] Return `git.Repository` from `git.Repository.worktree` (523) cjolowicz
* 🔨 [projects] Extract function `storeproject` from `generate` (525) cjolowicz
* 🔨 [services] Pass `FileExistsPolicy` to services (526) cjolowicz
* 🔨 [projects] Add class `Project` and extract function `Project.create` (527) cjolowicz
* 🔨 [projects] Extract function `Project.add` (528) cjolowicz
* 🔨 [projects] Add class `ProjectGenerator` and extract function `ProjectGenerator.create` (529) cjolowicz
* 🔨 [projects] Extract function `ProjectGenerator.generate` (530) cjolowicz
* 🔨 [projects] Extract function `ProjectGenerator.addconfig` (531) cjolowicz
* 🔨 [projects] Rename attributes in `ProjectGenerator` with leading underscore (532) cjolowicz
* 🔨 [projects] Move class `Project` to `project` module (533) cjolowicz
* 🔨 [projects] Move class `ProjectGenerator` to `generator` module (534) cjolowicz
* 🔨 [projects] Separate project storage from project generation (535) cjolowicz
* 🔨 [projects] Replace parameter `no_input` by `interactive` and add default arguments (536) cjolowicz
* 🔨 [projects] Use context managers instead of callbacks in `ProjectRepository` (538) cjolowicz
* 🔨 [projects] Store only `Template.Metadata` in `ProjectGenerator` (539) cjolowicz

:package: Dependencies

* ➖ [poetry] Drop dependency on lazysequence (537) cjolowicz
* ⬆ Bump flake8-bugbear from 21.9.1 to 21.9.2 (512) dependabot
* ⬆ Bump nox from 2021.6.12 to 2021.10.1 in /.github/workflows (520) dependabot
* ⬆ Bump platformdirs from 2.3.0 to 2.4.0 (503) dependabot
* ⬆ Bump poetry from 1.1.8 to 1.1.9 in /.github/workflows (492) dependabot
* ⬆ Bump poetry from 1.1.9 to 1.1.10 in /.github/workflows (495) dependabot
* ⬆ Bump virtualenv from 20.8.0 to 20.8.1 in /.github/workflows (498) dependabot
* ⬆ Bump xdoctest from 0.15.8 to 0.15.9 (499) dependabot
</details>

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.