pants
go-deps
DISCONTINUED
Our great sponsors
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.
pants
-
Monorepo + Microservices + Dependency Managment + Build system HELL
Does pants/bazel can help me?
-
Go Dependency management in large company projects - How do you do it?
Hyper-large tech companies managing hyper-large monorepos using Bazel (google), buck (Facebook), please (thought machine), pants (Twitter, Foursquare & Square) enjoy them but also have a lot of resources devoted to running and maintaining it.
-
Reason to use other Build Tool than Make?
Yeah there's definitely some alternatives out there. Pants is another one that has a lot of traction.
-
Is it possible pickle a function with its dependencies?
You should look into pex, or it’s parent build system pants. A PEX (Python EXecutable) file can package up all your code including dependencies and run on another machine of similar OS with just an available compatible interpreter.
-
Maintain a Clean Architecture in Python with Dependency Rules
Before clicking on this, I expected to see import-linter [0] which achieves something very similar but with, in my opinion, a bit less magic. Another solution in a similar spirit is Pants [1], though this is actually a build system which allows you to constrain dependencies between different artifacts (e.g. which modules are allowed to depend on which modules).
To Sourcery's credit, their product looks much more in the realm of "developer experience" -- closer to Copilot (or what I understand of it) than to import-linter. Props to them for at least having a page about security [2] and building a solution which doesn't inherently require all of your source code to be shared with a vendor's server.
[0] https://github.com/seddonym/import-linter
[1] https://www.pantsbuild.org/
[2] https://docs.sourcery.ai/Product/Permissions-and-Security/
This has also been recently integrated in pants.
- Blazing fast CI with MicroVMs
-
Visualize your dependencies with GraphMyRepo.com
This was the fix: https://github.com/pantsbuild/pants/pull/16896
-
Better CI/CD caching with new-gen build systems
A build system is a program that orchestrates the execution of underlying tools such as compilers, code generators, test runners, linters and so on. Examples of build systems include the venerable Make, the JVM-centric Ant, Maven and Gradle, and newer systems such as Pants and Bazel (full disclosure: I am one of the maintainers of Pants).
-
Using URLs for dependency management
Pants allows you to override an artifact's URL: https://www.pantsbuild.org/docs/reference-jvm_artifact#codeurlcode
go-deps
-
Pants 2.8 adds Golang support: Remote caching, a consistent interface across languages, and minimal boilerplate
We're working hard to make this easier through tooling. In the golang space, there's Wollemi which can automatically update your `go_library()` etc. rules based on the imports in your `.go` files. I'm also trialing a tool to automatically generate your build rules to pull in third party dependencies in Go.
What are some alternatives?
Bazel - a fast, scalable, multi-language and extensible build system
megalinter - 🦙 MegaLinter analyzes 50 languages, 22 formats, 21 tooling formats, excessive copy-pastes, spelling mistakes and security issues in your repository sources with a GitHub Action, other CI tools or locally.
please - High-performance extensible build system for reproducible multi-language builds.
pyflow - An installation and dependency system for Python
Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.
pyupgrade - A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language.
megalinter - 🦙 Mega-Linter analyzes 49 languages, 22 formats, 21 tooling formats, excessive copy-pastes, spelling mistakes and security issues in your repository sources with a GitHub Action, other CI tools or locally. [Moved to: https://github.com/oxsecurity/megalinter]
Poetry - Python packaging and dependency management made easy
jk - Configuration as Code with ECMAScript
lsp-mode - Emacs client/library for the Language Server Protocol
PDM - A modern Python package and dependency manager supporting the latest PEP standards
Nuitka - Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.