{"categories":[{"label":"Version Control","url":"https://skillfed.io/packages/category/software-development-version-control"}],"enrichment":{"capability":"A setuptools plugin that automatically includes all git-tracked files in Python package distributions, eliminating the need for manual MANIFEST.in specifications.","skillfed_tags":["abandoned","legacy-packaging"],"use_cases":["Automatically include all source files, tests, and documentation tracked in git without maintaining a separate MANIFEST.in file.","Ensure that binary package builds (wheels, eggs) include the same files as source distributions by querying git instead of hardcoding paths.","Exclude specific files (e.g., .gitignore, build artifacts) from distributions using MANIFEST.in or exclude_package_data without losing other tracked files.","Simplify setup.py for projects where git is the source of truth for what should be packaged.","Optimize directory scanning by skipping git-ignored directories during package discovery."],"what_it_does":"setuptools-git is a setuptools plugin that teaches the build system to automatically discover and include all files tracked by git when creating package distributions (sdist, wheels, eggs, etc.). Instead of manually listing files in MANIFEST.in, you enable git integration by adding include_package_data=True to your setup() call, and the plugin queries git to determine what to package.\n\nThe plugin works by hooking into setuptools' file discovery process during package builds. It reads git's tracked file list and tells setuptools which files belong in the distribution. You can still exclude specific files using MANIFEST.in directives or exclude_package_data in setup(). The main gotcha is that git and git metadata must be present\u2014if someone extracts your package from a tarball or clones without installing this plugin, the build will lack the information needed to know which files to include.","worth_installing":"No. While the plugin solves a real problem and has low install friction, it has been abandoned since 2017-02-18 with no maintenance. Modern Python packaging has evolved significantly (setuptools, build backends, pyproject.toml), and there is no assurance this plugin works with current tooling. For new projects, use modern alternatives like setuptools' native include_package_data with explicit file lists, or build backends that handle this natively. Only consider it for legacy projects already relying on it."},"id":"setuptools-git","links":{"html":"https://skillfed.io/packages/setuptools-git","md":"https://skillfed.io/packages/setuptools-git.md","pypi":"https://pypi.org/project/setuptools-git/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2017-02-18","license_spdx":null,"license_treatment":"permissive","name":"setuptools-git","python_support":"unspecified","summary":"Setuptools revision control system plugin for Git"},"popularity":{"monthly_downloads":609443,"position":5772,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.2"}
