{"id":16936731,"url":"https://github.com/sureshjoshi/pants-plugins","last_synced_at":"2025-03-17T07:32:34.417Z","repository":{"id":37001026,"uuid":"454601981","full_name":"sureshjoshi/pants-plugins","owner":"sureshjoshi","description":"A small selection of custom PantsBuild plugins","archived":false,"fork":false,"pushed_at":"2024-12-18T20:00:22.000Z","size":447,"stargazers_count":15,"open_issues_count":19,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-27T20:44:09.078Z","etag":null,"topics":["monorepo","mypyc","pants","pants-plugins","pantsbuild","pyoxidizer","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sureshjoshi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-02T00:51:04.000Z","updated_at":"2025-02-27T07:40:29.000Z","dependencies_parsed_at":"2024-05-09T08:25:05.607Z","dependency_job_id":"b6402dca-d42a-4ff0-8466-a618224a0859","html_url":"https://github.com/sureshjoshi/pants-plugins","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sureshjoshi%2Fpants-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sureshjoshi%2Fpants-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sureshjoshi%2Fpants-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sureshjoshi%2Fpants-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sureshjoshi","download_url":"https://codeload.github.com/sureshjoshi/pants-plugins/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243852425,"owners_count":20358270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["monorepo","mypyc","pants","pants-plugins","pantsbuild","pyoxidizer","python"],"created_at":"2024-10-13T20:57:45.175Z","updated_at":"2025-03-17T07:32:34.024Z","avatar_url":"https://github.com/sureshjoshi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pants-plugin\n\nA small selection of custom PantsBuild plugins.\n\n## Usage\n\nInstall Pants via [PantsBuild's instructions](https://www.pantsbuild.org/docs/installation), or use `brew` via `brew install pantsbuild/tap/pants`.\n\n## Plugins\n\n- [ansible](https://github.com/sureshjoshi/pants-plugins/blob/main/pants-plugins/experimental/ansible/README.md)\n- ClangFormat - Mainlined via [PR #15395](https://github.com/pantsbuild/pants/pull/15395)\n- [mypyc](https://github.com/sureshjoshi/pants-plugins/blob/main/pants-plugins/experimental/mypyc/README.md) - Similar solution mainlined in 2.13 via [PR #15380](https://github.com/pantsbuild/pants/pull/15380)\n- nodejs - Mainlined via [PR #15442](https://github.com/pantsbuild/pants/pull/15442)\n- Prettier - Mainlined via [PR #15480](https://github.com/pantsbuild/pants/pull/15480)\n- [PyOxidizer](https://www.pantsbuild.org/v2.10/docs/pyoxidizer) - Mainlined in 2.10 via [PR #14183](https://github.com/pantsbuild/pants/pull/14183)\n    - My [Packaging Python with the PyOxidizer Pants Plugin](https://blog.pantsbuild.org/packaging-python-with-the-pyoxidizer-pants-plugin/) blog post\n    - Examples removed from repo as of May 20, 2023 (last commit with examples: [ea2b275](https://github.com/sureshjoshi/pants-plugins/commit/ea2b2755e6d1ffc8b3222f0b03a222a036f1e65a))\n    - [Issue #90](https://github.com/sureshjoshi/pants-plugins/issues/90) for rationale\n- [scie](https://github.com/sureshjoshi/pants-plugins/blob/main/pants-plugins/experimental/scie/README.md)\n\n## VS Code Configuration\n\nIn order to get intellisense working correctly in VS Code, here are the relevant items to look at:\n\n### pants.toml\n\nEnsure the following:\n\n- `pants.backend.plugin_development` setup inside `backend_packages`\n- There is a separate resolve for your plugin directory, matching the Pants required interpreter (3.9 right now)\n\n```toml\nbackend_packages = [\n    \"pants.backend.plugin_development\",\n    ...\n]\n\n[python]\nenable_resolves = true\ninterpreter_constraints = [\"==3.9.*\"]\ntailor_pex_binary_targets = false\n\n[python.resolves]\npants-plugins = \"build-support/lockfiles/pants-plugins.lock\"\npython-default = \"build-support/lockfiles/python-default.lock\"\n\n[python.resolves_to_interpreter_constraints]\npants-plugins = [\"\u003e=3.9,\u003c3.10\"]\n```\n\n### requirements\n\nIn the plugin root folder, there is a BUILD file containing the following (where the resolve is the same name that you setup in pants.toml):\n\n```python\npants_requirements(name=\"pants\", resolve=\"pants-plugins\")\n```\n\n### .vscode/settings.json\n\nIn the past, this setting appears to help the VS Code intellisense auto-complete.\n\n```json\n{\n  \"python.analysis.packageIndexDepths\": [\n    { \"name\": \"pants\", \"depth\": 5, \"includeAllSymbols\": true }\n  ]\n} \n```\n\n### venv\n\nGenerate the lockfile (very important if `pants_version` changes, so you're using the updated pants wheel). Then, export the resolve and setup VS Code to use that venv.\n\n```bash\npants generate-lockfiles --resolve=pants-plugins # This is important if you've upgraded your pants version\npants export --resolve=pants-plugins\n\n# Use this venv in VS Code \nWrote mutable virtualenv for pants-plugins (using Python 3.9.19) to dist/export/python/virtualenvs/pants-plugins/3.9.19\n```\n\nYou can also symlink the exported directory to `.venv` or similar, as VS Code tends to automatically pick those up. \n\nImportant: Do not activate the `venv` and run commands, or you'll get a complaint about using the `pants launcher binary`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsureshjoshi%2Fpants-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsureshjoshi%2Fpants-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsureshjoshi%2Fpants-plugins/lists"}