libvcs
obs-service-tar_scm
libvcs | obs-service-tar_scm | |
---|---|---|
3 | 2 | |
47 | 32 | |
- | - | |
9.4 | 4.9 | |
5 days ago | 10 days ago | |
Python | Python | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libvcs
-
Using Mypy in Production
I am moving all my open source projects to `mypy --strict`. Here's the diff of adding basic / --strict mypy types:
libvcs: https://github.com/vcs-python/libvcs/pull/362/files, https://github.com/vcs-python/libvcs/pull/390/files
libtmux: https://github.com/tmux-python/libtmux/pull/382/files, https://github.com/tmux-python/libtmux/pull/383/files
unihan-etl: https://github.com/cihai/unihan-etl/pull/255/files, https://github.com/cihai/unihan-etl/pull/257/files
As for return on investment - not sure yet. What I like about it is:
- completions (through annotating)
- typings can be used downstream (since the above are all now typed python libraries)
- maintainability and bug finding. Easy to wire into CI and run locally.
There's a thread on mypy, "--strict is too strict to be useful", https://github.com/python/mypy/issues/7767. I'm not sure if I walked away with that impression. If I have a function that could potentially return `None` (`Optional[str]` or `str | None`) - it makes sense for the user to handle such a case. They could:
assert response is not None
-
libvcs 0.14 - Python library for VCS systems supporting Git / Mercurial / Subversion (Dusting this off after a few years of inactivity, wow is mypy nice)
GitHub (docs) - Git URL parser, commands, project syncing
obs-service-tar_scm
-
Using obs_scm to automatically download the latest release tarball from Github
I haven't found any proper documentation, but take a look at this file here, specifically and :
- Quick tutorial on how to create or update package for openSUSE
What are some alternatives?
PyYAML
poetry-dynamic-versioning - Plugin for Poetry to enable dynamic versioning based on VCS tags
vcspull - 🔄 Synchronize projects via yaml/json manifest. Built using `libvcs`.
devops-exercises - Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions
Kaitai Struct - Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
dvc - 🦉 ML Experiments and Data Management with Git
pymorphy2 - Morphological analyzer / inflection engine for Russian and Ukrainian languages.
neovcs.vim - VCS support for Neovim 🌱
libtmux - ⚙️ Python API / wrapper for tmux
repo
flakeheaven - flakeheaven is a python linter built around flake8 to enable inheritable and complex toml configuration.
versioningit - Versioning It with your Version In Git