Skip to main content

scmrepo

Project description

PyPI Status Python Version License

Tests Codecov pre-commit Black

SCM wrapper and fsspec filesystem for Git for use in DVC.

Features

  • Works with multiple backends: pygit2, dulwich and gitpython.

  • Provides fsspec filesystem over Git: GitFileSystem.

See fsspec docs for full list of available fs methods.

Requirements

Installation

You can install scmrepo via pip from PyPI:

$ pip install scmrepo

Usage

Git File System

scmrepo provides fsspec based gitfs that provides fs-like API for your git repositories without having to git checkout them first. For example:

from scmrepo.fs import GitFileSystem

fs = GitFileSystem("path/to/my/repo", rev="mybranch")

for root, dnames, fnames in fs.walk("path/in/repo"):
    for dname in dnames:
        print(fs.path.join(root, dname))

    for fname in fnames:
        print(fs.path.join(root, fname))

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the Apache 2.0 license, scmrepo is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scmrepo-3.6.2.tar.gz (97.6 kB view details)

Uploaded Source

Built Distribution

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

scmrepo-3.6.2-py3-none-any.whl (74.2 kB view details)

Uploaded Python 3

File details

Details for the file scmrepo-3.6.2.tar.gz.

File metadata

  • Download URL: scmrepo-3.6.2.tar.gz
  • Upload date:
  • Size: 97.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scmrepo-3.6.2.tar.gz
Algorithm Hash digest
SHA256 750741af151e4c602dbf1456b49c7a1d27844527ba94db1e0c580b167cbd9316
MD5 28d86b7cb4fd17e6de557fa051ddf6fe
BLAKE2b-256 90d562ab01546616c42d05e11fe133ce80e1d5c5c601bfc391de41f52e32ce66

See more details on using hashes here.

Provenance

The following attestation bundles were made for scmrepo-3.6.2.tar.gz:

Publisher: release.yaml on treeverse/scmrepo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scmrepo-3.6.2-py3-none-any.whl.

File metadata

  • Download URL: scmrepo-3.6.2-py3-none-any.whl
  • Upload date:
  • Size: 74.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scmrepo-3.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b6d2a904562d3fc8a1a375234ce6f9a3e47ce83cb67257381fa5dc43c6006d4a
MD5 6edab59abec3204a4b2f2f684a527024
BLAKE2b-256 1642f4bb5e4612681d28fb01335d5faa67e1478adc63077c86555776fe89e584

See more details on using hashes here.

Provenance

The following attestation bundles were made for scmrepo-3.6.2-py3-none-any.whl:

Publisher: release.yaml on treeverse/scmrepo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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