Top 23 Python Git Projects
-
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
-
If you need to manage data concurrently with git, especially if you want to version control the data similar to how git version controls code, you could look into something like DVC. It has the ability to sync data files with a bunch of different protocols / cloud services (ssh, AWS, etc)
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
-
dev-setup
macOS development environment setup: Easy-to-understand instructions with automated setup scripts for developer tools like Vim, Sublime Text, Bash, iTerm, Python data analysis, Spark, Hadoop MapReduce, AWS, Heroku, JavaScript web development, Android development, common data stores, and dev-based OS X defaults.
Something like this at least is the most direct answer to your question, as opposed to "you're doing it wrong" which unfortunately seems to be more upvoted. An example of something like this might be https://github.com/donnemartin/dev-setup
-
-
I personally like to use a dotfile manager, so I don't have to make the symlinks myself, for example. YADM allows you to manage your dotfiles with them in place. Easy-peasy. I have two repos, one for my home dotfiles and another one for my system-wide ones:
-
repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.3.0 hooks: - id: check-yaml args: ["--allow-multiple-documents"] - repo: local hooks: - id: forbidden-files name: forbidden files entry: found copier update rejection files; review them and remove them language: fail files: "\\.rej$" - id: black name: black entry: poetry run black language: system types: [python] - id: flake8 name: flake8 entry: poetry run flake8 language: system types: [python] - id: isort name: isort entry: poetry run isort --settings-path=. language: system types: [python] - id: pyupgrade name: pyupgrade entry: poetry run pyupgrade language: system types: [python] args: [--py310-plus] - id: mypy name: mypy description: Check python types. entry: poetry run mypy language: system types: [python]
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
-
Project mention: Ask HN: Are there any good Diff tools for Jupyter Notebooks? | news.ycombinator.com | 2022-05-22
[5] ReviewNB for reviewing & diff'ing notebook PRs / Commits on GitHub
Disclaimer: While I’m the author of last two (GitPlus & ReviewNB), I’ve represented the overall landscape in an unbiased way. I've been working on this specific problem for 3+ years & regularly talk to teams who use GitHub with notebooks.
-
-
I guess one good example (that was mentioned just yesterday here on HN) would be Flask vs FastAPI: https://news.ycombinator.com/item?id=31953470 - "There are no open issues or pull requests on Flask "
Quick count finds that FastAPI has 48422 lines of code, while Flask has 9995. Flask just achieved "Zero standing issues/PRs" while FastAPI has 1.1K open issues and ~500 open PRs.
Large surface area/API quickly leads to be overwhelmed when you're trying to maintain it. Adding new features/fixing existing ones becomes harder as well.
Best bet to make sure something is maintainable over time is to add as little as possible to it, and if you really have to, make sure you're also removing something at the same time.
Otherwise you need a massive team just to be able to "survive" and not making things rot.
There is this blogpost as well about the "half-life of code": https://erikbern.com/2016/12/05/the-half-life-of-code.html
Someone run that tool on the Clojure codebase as well, and it really shows how well the Clojure codebase has been written, as most code that was initially written is still there and does what it needs, without having to be rewritten.
-
Project mention: I think the real reason why people think using the terminal is required on Linux is a direct result of the Linux terminal being so much better than the Windows terminal | reddit.com/r/linux | 2022-07-28
i still don't know how to split one commit into multiples (without going insane (if it's even possible)) without a gui like https://github.com/git-cola/git-cola, and that should be a simple operation (especially with git's "split every change into individual commits make it easier to cherry pick" conventions)
-
Scheduled Thread Pool Executor Scheduled Thread Pool Executor implementation in python Makes use of delayed queue implementation to submit tasks to the thread pool. Usage from scheduled_thread_pool_executor import ScheduledThreadPoolExecutor scheduled_executor = ScheduledThreadPoolExecutor(max_workers=5) scheduled_executor.schedule(task, 0) # equals to schedule once, where task is a callable scheduled_executor.schedule_at_fixed_rate(task, 0, 5) # schedule immediately and run periodically for every 5 secs scheduled_executor.schedule_at_fixed_delay(task, 5, 10) # schedule after 5secs (initial delay) and run periodically for every 10secs Note This project has been set up using PyScaffold 4.1.1. For details and usage information on PyScaffold see https://pyscaffold.org/.
-
Project mention: How would you backup nvim config (like AstroNvim) to dotfiles? | reddit.com/r/neovim | 2022-06-19
I am currently using AstroNvim config and I like it. I use dotdrop for backing up my dotfiles. I would like to backup my AstroNvim config to my dotfiles. Here is the current directory structure of my ~/.config/nvim:
-
commitizen
Create committing rules for projects :rocket: auto bump versions :arrow_up: and auto changelog generation :open_file_folder:
commitizen makes sure our commit messages meet our company requirements, which is a format derived from semantic-release where we require to also put the related GitLab issue’s number. Here is an example of a valid GitGuardian commit message:
-
gita
-
GitHacker
🕷️ A `.git` folder exploiting tool that is able to restore the entire Git repository, including stash, common branches, common tags.
View on GitHub
-
Project mention: Ask HN: Are there any good Diff tools for Jupyter Notebooks? | news.ycombinator.com | 2022-05-22
I used something as a precommit hook in the past that remove plots and other rendered content and only kept text and code in git index. I'm almost sure it was https://github.com/kynan/nbstripout but it's been a while and I could be wrong.
Once the hook was in place git diff worked well enough to not need any other diffing tool.
-
Project mention: Write-up: Git Exposed, weak password reset and account takeover. | dev.to | 2022-08-02
-
Project mention: [Poll] Best software for hoarders and curators? | reddit.com/r/datacurator | 2022-06-14
Memacs - a framework for integrating various data sources into Org-mode
-
git-repo-updater
A console script that allows you to easily update multiple git repositories at once
-
Project mention: Phabricator replacement? | Or OpenProject alternative? | issue tracking/code | reddit.com/r/selfhosted | 2022-08-02
Klaus - See Gitea explanation
-
Project mention: Pydriller: Python Framework to analyse Git repositories | news.ycombinator.com | 2022-07-25
Python Git related posts
- Excel Is Pretty Dang Cool
- Delete Files under Master Branch which is older than an year
- Post your favorite programs
- Validating cloudFormation templates
- Gitlab CI with docker compose
- Disable a direct push to GitHub main branch
- 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)
Index
What are some of the best open-source Git projects in Python? This list will help you:
Project | Stars | |
---|---|---|
1 | devops-exercises | 28,259 |
2 | dvc | 10,132 |
3 | pre-commit | 8,614 |
4 | dev-setup | 5,778 |
5 | legit | 5,686 |
6 | yadm | 3,554 |
7 | pre-commit-hooks | 3,215 |
8 | git-imerge | 2,469 |
9 | nbdime | 2,269 |
10 | gitfs | 2,268 |
11 | git-of-theseus | 1,985 |
12 | git-cola | 1,898 |
13 | pyscaffold | 1,550 |
14 | dotdrop | 1,362 |
15 | commitizen | 1,188 |
16 | gita | 1,179 |
17 | GitHacker | 987 |
18 | nbstripout | 926 |
19 | git-dumper | 912 |
20 | Memacs | 839 |
21 | git-repo-updater | 708 |
22 | Klaus | 625 |
23 | pydriller | 610 |
Are you hiring? Post a new remote job listing for free.