{"id":50476066,"url":"https://github.com/erdogant/pyperl","last_synced_at":"2026-06-01T13:04:08.426Z","repository":{"id":345147279,"uuid":"1184644008","full_name":"erdogant/pyperl","owner":"erdogant","description":"Python package to run Perl scripts using Python","archived":false,"fork":false,"pushed_at":"2026-03-17T21:59:12.000Z","size":27227,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-18T11:14:35.399Z","etag":null,"topics":["perl","python"],"latest_commit_sha":null,"homepage":"","language":"Python","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/erdogant.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["erdogant"],"buy_me_a_coffee":"erdogant","ko_fi":"erdogant","custom":["https://erdogant.github.io/pyperl/pages/html/Documentation.html"],"patreon":null,"open_collective":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"gumroad":"erdogant.gumroad.com","medium":"erdogant.medium.com"}},"created_at":"2026-03-17T19:39:21.000Z","updated_at":"2026-03-17T21:56:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/erdogant/pyperl","commit_stats":null,"previous_names":["erdogant/pyperl"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/erdogant/pyperl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdogant%2Fpyperl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdogant%2Fpyperl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdogant%2Fpyperl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdogant%2Fpyperl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erdogant","download_url":"https://codeload.github.com/erdogant/pyperl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdogant%2Fpyperl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33775872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["perl","python"],"created_at":"2026-06-01T13:04:07.297Z","updated_at":"2026-06-01T13:04:08.418Z","avatar_url":"https://github.com/erdogant.png","language":"Python","funding_links":["https://github.com/sponsors/erdogant","https://buymeacoffee.com/erdogant","https://ko-fi.com/erdogant","https://erdogant.github.io/pyperl/pages/html/Documentation.html","erdogant.gumroad.com","erdogant.medium.com","https://img.buymeacoffee.com/button-api/?text=Buy+me+a+coffee\u0026emoji=\u0026slug=erdogant\u0026button_colour=FFDD00\u0026font_colour=000000\u0026font_family=Cookie\u0026outline_colour=000000\u0026coffee_colour=ffffff","https://www.buymeacoffee.com/erdogant"],"categories":[],"sub_categories":[],"readme":"![GitHub Repo stars](https://img.shields.io/github/stars/erdogant/pyperl)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/erdogant/pyperl/blob/main/LICENSE)\n[![Forks](https://img.shields.io/github/forks/erdogant/pyperl.svg)](https://github.com/erdogant/pyperl/network)\n[![Open Issues](https://img.shields.io/github/issues/erdogant/pyperl.svg)](https://github.com/erdogant/pyperl/issues)\n[![Project Status](http://www.repostatus.org/badges/latest/active.svg)](http://www.repostatus.org/#active)\n[![Docs](https://img.shields.io/badge/Sphinx-Docs-Green)](https://erdogant.github.io/pyperl/)\n[![Medium](https://img.shields.io/badge/Medium-Blog-black)](https://erdogant.medium.com)\n![GitHub repo size](https://img.shields.io/github/repo-size/erdogant/pyperl)\n[![Donate](https://img.shields.io/badge/Support%20this%20project-grey.svg?logo=github%20sponsors)](https://erdogant.github.io/pyperl/pages/html/Documentation.html#)\n\n\n### \n\n\u003cdiv\u003e\n\u003ca href=\"https://erdogant.github.io/pyperl/\"\u003e\u003cimg src=\"https://github.com/erdogant/pyperl/blob/main/docs/figs/logo.png\" width=\"125\" align=\"left\" /\u003e\u003c/a\u003e\n\u003cb\u003epyperl\u003c/b\u003e is a Python library that automatically installs and manages Perl, and provides a clean interface for running Perl scripts from Python, with zero manual Perl setup required.\n Navigate to https://erdogant.github.io/pyperl for more detailed information. \u003cb\u003e⭐️ Star it if you like it ⭐️\u003c/b\u003e\n\u003c/div\u003e\n\n---\n\n### Key Features\n\n| Feature | Description |\n|--------|-------------|\n| **Auto Perl Install** | Detects system Perl or installs a portable version automatically (Strawberry Perl on Windows, CPAN source on Linux/Mac). |\n| **Cross-Platform** | Works on Windows, Linux, and macOS — handles the platform differences for you. |\n| **Run Perl Scripts** | Execute any `.pl` script with arbitrary arguments directly from Python. |\n| **Portable \u0026 Bundled** | Ships with bundled Perl archives so it works in offline or restricted environments. |\n| **Logging Control** | Configurable verbosity from `\"silent\"` to `\"debug\"`. |\n\n---\n\n### Installation\n\n##### Install from PyPI\n```bash\npip install pyperl\n```\n\n##### Install from GitHub source\n```bash\npip install git+https://github.com/erdogant/pyperl\n```\n\n---\n\n### Quick Start\n\n```python\nfrom pyperl import pyperl\n\n# Initialize — auto-detects or installs Perl\nperl = pyperl()\n\n# Run a Perl script\nresult = perl.run(script=\"my_script.pl\")\nprint(result[\"stdout\"])\n```\n\n##### Run a script with arguments\n```python\nfrom pyperl import pyperl\n\nperl = pyperl(script=\"perl_scripts/convert_audio.pl\")\n\naudiofile = perl.import_example()\n\nresult = perl.run(audiofile, \"c:\\output.mp3\")\nprint(result[\"stdout\"])\nprint(result[\"returncode\"])  # 0 = success\n\n```\n\n##### Use a custom installation directory\n```python\nfrom pyperl import pyperl\nperl = pyperl(installation_dir=\"/opt/my_perl\", set_to_path=True)\n```\n\n##### Force reinstall portable Perl\n```python\nfrom pyperl import pyperl\nperl = pyperl(force_install=True)\n```\n\n---\n\n### How It Works\n\nOn initialization, `pyperl` follows this resolution order:\n\n1. **Check system PATH** — if `perl` is already available, use it.\n2. **Search common directories** — checks `/usr/bin`, `/usr/local/bin`, `/opt/homebrew/bin`, and common Windows paths.\n3. **Install portable Perl** — if no Perl is found, downloads and extracts a portable Perl package:\n   - **Windows**: [Strawberry Perl](https://strawberryperl.com/) portable ZIP\n   - **Linux/Mac**: Perl source from CPAN (tar.gz)\n\n---\n\n### Maintainer\n* Erdogan Taskesen, github: [erdogant](https://github.com/erdogant)\n* Contributions are welcome.\n* Yes! This library is entirely **free** but it runs on coffee! :) Feel free to support with a \u003ca href=\"https://erdogant.github.io/donate/?currency=USD\u0026amount=5\"\u003eCoffee\u003c/a\u003e.\n\n[![Buy me a coffee](https://img.buymeacoffee.com/button-api/?text=Buy+me+a+coffee\u0026emoji=\u0026slug=erdogant\u0026button_colour=FFDD00\u0026font_colour=000000\u0026font_family=Cookie\u0026outline_colour=000000\u0026coffee_colour=ffffff)](https://www.buymeacoffee.com/erdogant)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferdogant%2Fpyperl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferdogant%2Fpyperl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferdogant%2Fpyperl/lists"}