{"id":28288601,"url":"https://github.com/utkarshg1/pycargo","last_synced_at":"2026-03-18T01:33:40.745Z","repository":{"id":288102308,"uuid":"966734972","full_name":"utkarshg1/pycargo","owner":"utkarshg1","description":"PyCargo is a Rust‑powered CLI tool to bootstrap Python projects - Built in Rust","archived":false,"fork":false,"pushed_at":"2025-04-17T12:02:42.000Z","size":44218,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-17T00:20:37.992Z","etag":null,"topics":["automation","cli","git","github","project-scaffolding","python3","rust","virtual-env"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/pycargo","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/utkarshg1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-04-15T11:27:51.000Z","updated_at":"2025-06-30T13:18:10.000Z","dependencies_parsed_at":"2025-04-15T15:53:47.764Z","dependency_job_id":null,"html_url":"https://github.com/utkarshg1/pycargo","commit_stats":null,"previous_names":["utkarshg1/pycargo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/utkarshg1/pycargo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utkarshg1%2Fpycargo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utkarshg1%2Fpycargo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utkarshg1%2Fpycargo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utkarshg1%2Fpycargo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/utkarshg1","download_url":"https://codeload.github.com/utkarshg1/pycargo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utkarshg1%2Fpycargo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30640150,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-18T00:09:27.587Z","status":"ssl_error","status_checked_at":"2026-03-18T00:09:26.123Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["automation","cli","git","github","project-scaffolding","python3","rust","virtual-env"],"created_at":"2025-05-22T00:12:40.681Z","updated_at":"2026-03-18T01:33:40.734Z","avatar_url":"https://github.com/utkarshg1.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PyCargo\n\nPyCargo is a CLI tool designed to bootstrap Python projects with ease. It helps you set up a Python project directory, manage dependencies, initialize Git repositories, and optionally create a GitHub repository.\n\n## Features\n\n- Create a Python project directory.\n- Generate a `requirements.txt` file based on predefined setups (`basic`, `advanced`, `data-science`, or `blank`).\n- Initialize a Git repository and configure Git settings.\n- Automatically check and set Git configuration (`user.name` and `user.email`).\n- Create a GitHub repository (requires a GitHub Personal Access Token).\n- Specify whether the GitHub repository should be private or public.\n- Automatically install and configure `uv` for virtual environment and dependency management.\n- Download essential files like `.gitignore` and `LICENSE` automatically from predefined URLs.\n\n## Installation\n\nDownload the latest release from the `pycargo-0.2.10-x86_64.msi` file and install it on your system.\n\n## Usage\n\nRun the `pycargo` command with the desired options:\n\n### Demo\n\n![pycargo_demo](./demo/pycargo_0210.gif)\n\n### Basic Usage\n\n```cmd\npycargo -n my_project\n```\n\nThis creates a project directory named `my_project` with the default `advanced` setup.\n\n### Specify a Setup Type\n\n```cmd\npycargo -n my_project -s basic\n```\n\nAvailable setup types:\n\n- `basic`: Installs `numpy`, `pandas`, `matplotlib`, `seaborn`, and `ipykernel`.\n- `advanced`: Installs additional libraries like `plotly`, `requests`, and `streamlit`.\n- `data-science`: Includes `basic` libraries plus `scikit-learn`, `statsmodels`, `streamlit`, and `xgboost`.\n- `blank`: Creates an empty `requirements.txt` file for custom dependencies.\n\n### Create a GitHub Repository (Public by Default)\n\n```cmd\npycargo -n my_project -g\n```\n\nThis creates a public GitHub repository named `my_project` and links it to the local Git repository.\n\n### Create a Private GitHub Repository\n\n```cmd\npycargo -n my_project -g -p\n```\n\nThis creates a private GitHub repository named `my_project` and links it to the local Git repository.\n\n### Specify a Custom GitHub Repository Name\n\n```cmd\npycargo -n my_project -g --github-repo-name custom_repo_name\n```\n\nThis creates a GitHub repository named `custom_repo_name` and links it to the local Git repository.\n\n### Activate the Virtual Environment\n\nAfter the setup is complete, activate the virtual environment:\n\n```cmd\n.venv\\Scripts\\activate\n```\n\n### Display Help\n\nTo display the help menu with all available options:\n\n```cmd\npycargo --help\n```\n\n### Display Version\n\nTo display the current version of PyCargo:\n\n```cmd\npycargo -V\n```\n\n### Downloaded Files\n\nThe following files are automatically downloaded and added to your project:\n\n- `.gitignore`: A standard Python `.gitignore` file from GitHub's official repository.\n- `LICENSE`: The Apache License 2.0 from the official Apache website.\n\n### Git Configuration Check\n\nIf `user.name` or `user.email` is not set in your Git configuration, PyCargo will prompt you to set them during the setup process.\n\n### `uv` Installation Check\n\nPyCargo ensures that `uv` is installed on your system. If not, it will automatically install it for you.\n\n## Setting Up GitHub Personal Access Token\n\nTo create a GitHub repository, you need to set a GitHub Personal Access Token (PAT) as an environment variable:\n\n1. Generate a PAT from your GitHub account with `repo` scope.\n2. Set the `GITHUB_TOKEN` environment variable:\n   - **Command Prompt**:\n     ```cmd\n     setx GITHUB_TOKEN \"your-token-here\"\n     ```\n   - **PowerShell**:\n     ```powershell\n     [Environment]::SetEnvironmentVariable(\"GITHUB_TOKEN\", \"your-token-here\", \"User\")\n     ```\n   - **Windows GUI**:\n     - Open the Start Menu and search for \"Environment Variables\".\n     - Click on \"Edit the system environment variables\".\n     - Under \"User variables\", click \"New\" and set:\n       - Variable name: `GITHUB_TOKEN`\n       - Variable value: `your-token-here`\n\n## Example\n\n```cmd\npycargo -n data_project -s data-science -g --github-repo-name data_project_repo\n```\n\nThis creates a `data_project` directory, sets up a `data-science` environment, initializes a Git repository, and creates a linked GitHub repository named `data_project_repo`.\n\n## License\n\nThis project is licensed under the MIT License. See the `LICENSE` file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futkarshg1%2Fpycargo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Futkarshg1%2Fpycargo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futkarshg1%2Fpycargo/lists"}