# Brew Python Resource Blocks `brew-python-resource-blocks` is a Rust tool that generates Homebrew resource blocks for Python packages listed in a `requirements.txt` file. This tool fetches package information from PyPI and formats it into resource blocks that can be used in Homebrew formulae. ## Features - Reads a `requirements.txt` file and extracts package names and versions. - Fetches package information from PyPI. - Generates Homebrew resource blocks with URLs and SHA256 checksums. ## Installation To build the tool, you need to have Rust installed. You can install Rust using [rustup](https://rustup.rs/). ```sh # Clone the repository git clone https://github.com/yourusername/brew-python-resource-blocks.git # Change to the project directory cd brew-python-resource-blocks # Build the project cargo build --release ``` ## Usage To use the tool, run the following command, providing the path to your `requirements.txt` file: ```sh cargo run -- path/to/requirements.txt ``` This will output the generated resource blocks to the console. ## Example Given a `requirements.txt` file with the following content: ```text # This file was autogenerated by uv via the following command: # uv export --format=requirements-txt -e . click==8.1.7 \ --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de \ --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 colorama==0.4.6 ; sys_platform == 'win32' or platform_system == 'Windows' \ --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 environs==9.5.0 \ --hash=sha256:a76307b36fbe856bdca7ee9161e6c466fd7fcffc297109a118c59b54e27e30c9 \ --hash=sha256:1e549569a3de49c05f856f40bce86979e7d5ffbbc4398e7f338574c220189124 ``` The tool will generate the following resource blocks: ```ruby resource "click" do url "https://files.pythonhosted.org/packages/.../click-8.1.7.tar.gz" sha256 "..." end resource "colorama" do url "https://files.pythonhosted.org/packages/.../colorama-0.4.6.tar.gz" sha256 "..." end resource "environs" do url "https://files.pythonhosted.org/packages/.../environs-9.5.0.tar.gz" sha256 "..." end ``` ## Contributing Contributions are welcome! Please open an issue or submit a pull request on GitHub. ## License This project is licensed under the MIT License. See the LICENSE file for details.