PyUp Safety actively tracks 274,040 Python packages for vulnerabilities and notifies you when to upgrade.
- [refactor]  overhaul docs - Move sphinx api format to Numpy-style - Move from reStructuredText to Markdown (via recommonmark). The master plan is to eliminate docutils and sphinx as a bottleneck completely in favor of something else (e.g. gatsby with a source that inspects our modules and can source intersphinx) - Move from RTD to GitHub Action, full support of poetry extras packages, deploys straight to S3 and CloudFront -  Build and publish packages via poetry -  Overhaul development docs : https://github.com/vcs-python/libvcs/pull/270 : https://github.com/vcs-python/libvcs/pull/267
-  `libvcs.base.BaseRepo`: - no longer sets `**kwargs` to dictionary on the object - remove `__slot__` and rename `name` attribute to `repo_name` : https://github.com/vcs-python/libvcs/pull/268
- \[bug\] `libvcs.git.extract_status()` Fix issue capturing branch names with special characters
- \[bug\] `libvcs.git.GitRepo.get_current_remote_name()` Handle case where upstream is unpushed - \[feature\] `libvcs.git.GitRepo.status()` - Retrieve status of repo - \[feature\] `libvcs.git.extract_status()` - Return structured info from `git status`
- Remove log statement
**Breaking changes** Internal functionality relating to remotes have been reorganized to avoid implicit behavior. - `~libvcs.git.GitRepo` methods have been renamed, they will be deprecated in 0.5: - `GitRepo.remotes_get` renamed to `libvcs.git.GitRepo.remotes()` - `GitRepo.remote_get` renamed to `libvcs.git.GitRepo.remote()` - `GitRepo.remote_set` renamed to `libvcs.git.GitRepo.set_remote()` - `~libvcs.git.GitRepo` the `remotes` argument is deprecated and no longer used. Use `libvcs.git.GitRepo.set_remote` after repo is instantiated. - `libvcs.git.GitRepo.obtain` no longer set remotes based on a `dict` passed to `~libvcs.git.GitRepo`. This was deemed to specialized / implicit. - `libvcs.git.GitRepo.set_remote()` (formerly `remote_set`) The new method accepts `name` and `url` (in that order). `name` no longer has a default value (was `origin`). - `libvcs.git.GitRepo.remote()` (formerly `remote_get`): - `remote` argument renamed to `name`. It will be removed in 0.5.0 The default value of `'origin'` has been removed - Now returns `~libvcs.git.GitRemote` (a :py`collections.namedtuple` object) The tuple is similar to the old output, except there is an additional value at the beginning, the name of the remote, e.g. `('origin', '<fetch_url>', '<push_url>')` - `libvcs.git.GitRepo.remotes()` (formerly `remotes_get`) are now methods instead of properties. Passing `flat=True` to return a `dict` of `tuple` instead of `dict` - New method: `libvcs.git.GitRepo.get_git_version()` - New method: `libvcs.git.GitRepo.get_current_remote_name()`
- Remove f-string from test - `libvcs.git.GitRepo.obtain` Overwrite remote if exists
- `258` `libvcs.git.GitRepo.remote_set` - Fix updating of remote URLs - Add new param: `overwrite`, usage: `repo.remote_set(url, 'origin', overwrite=True)`
- Fix version in pyroject.toml - Update developer docs
- Fix issue with subprocess.Popen loud warning on Python 3.8 -  - Move from Pipfile to poetry - Sort imports - Add isort package, isort configuration in setup.cfg, and `make isort` task to Makefile. - Add `project_urls` to setup.py  https://github.com/vcs-python/libvcs/pull/296
- Move vcspull to the vcs-python organization - Fix issue where VCS objects failed to set attribute in Ubuntu 18.04.
- Update documentation to point to libvcs.git-pull.com - Switch doc theme to alabaster - Pin and update libraries via pyup - update vulture 0.8.1 to 0.11 - update flake8 from 2.5.4 to 3.2.1 - update pytest-mock from 1.4.0 to 1.5.0 - update pytest from 3.0.4 to 3.0.5 - pin alabaster to 0.7.9 - pin sphinx to 1.5.1
- Fix bug with unused `support` module in vcspull. See [vcspull43] [vcspull43]: https://github.com/vcs-python/vcspull/pull/43
- Update pytest to 3.0.2, remove unused pytest-raisesregexp dependency. - Fix bug in `which` when executable is not found. Allow specifying search paths manually. - Better support for missing VCS when testing on git and subversion.
-  Support for `progress_callback` to use realtime output from commands in progress (such as `git fetch`). -  More tests, internal factoring and documentation, thanks jcfr -  Official support for pypy, pypy3 -  : Fix unbound local when updating git repos : https://github.com/vcs-python/libvcs/pull/9 : https://github.com/vcs-python/libvcs/pull/11
- `7` Add `check_returncode` property to run, thanks jcfr - `8` Remove all cases of `run_buffered` / buffering from the library.
- `5` Remove colorama dependency - `6` Remove log module. Logging defaults. The library user can still use formatters and set log levels, for an example, see the vcspull logging setup. An example: import logging your app log.setLevel(level) log.addHandler(logging.StreamHandler()) vcslib logging options vcslogger = logging.getLogger('libvcs') vcslogger.propagate = False don't pass libvcs settings up scope vcslogger.addHandler(logging.StreamHandler()) vcslogger.setLevel(level) You can also use `logging.Formatter` variables `repo_name` and `repo_vcs` with repos: repo_channel = logging.StreamHandler() repo_formatter = logging.Formatter( '[%(repo_name)s] (%(repo_vcs)s) %(levelname)1.1s: %(message)s' ) repo_channel.setFormatter(repo_formatter) vcslogger = logging.getLogger('libvcs') vcslogger.propagate = False don't pass libvcs settings up scope vcslogger.addHandler(repo_channel) vcslogger.setLevel(level)
- Fix issue where repo context wouldn't pass to repo logging adapter
- Fix print\_stdout\_on\_progress\_end signature in git update
- `create_repo` function for regular vcs urls - API docs updated
- change signature on `create_repo_from_pip_url` to accept `pip_url` insetad of `url`. - `Base` to accept `repo_dir` instead of `name` and `parent_dir`.
- remove unneeded pyyaml, kaptan and click dependencies
- libvcs split from [vcspull](https://github.com/vcs-python/vcspull)