{"id":20316617,"url":"https://github.com/jameschapman19/proxtorch","last_synced_at":"2025-10-12T00:06:04.161Z","repository":{"id":187458225,"uuid":"676947670","full_name":"jameschapman19/proxtorch","owner":"jameschapman19","description":"An efficient GPU-compatible library built on PyTorch, offering a wide range of proximal operators and constraints for optimization and machine learning tasks.","archived":false,"fork":false,"pushed_at":"2023-10-09T12:45:11.000Z","size":439,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-12T00:03:25.143Z","etag":null,"topics":["proximal-gradient-descent","proximal-operator","proximal-operators","proximal-regularization"],"latest_commit_sha":null,"homepage":"https://proxtorch.readthedocs.io/en/latest/","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/jameschapman19.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-10T11:34:50.000Z","updated_at":"2025-08-08T11:59:02.000Z","dependencies_parsed_at":"2023-12-16T00:07:40.640Z","dependency_job_id":"843f72a7-f0c6-4877-ba26-7656b5af4aaf","html_url":"https://github.com/jameschapman19/proxtorch","commit_stats":{"total_commits":131,"total_committers":2,"mean_commits":65.5,"dds":"0.23664122137404575","last_synced_commit":"ad3a4409747ca7aea1957004f7dc778768b1a29f"},"previous_names":["jameschapman19/proxtorch"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/jameschapman19/proxtorch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jameschapman19%2Fproxtorch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jameschapman19%2Fproxtorch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jameschapman19%2Fproxtorch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jameschapman19%2Fproxtorch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jameschapman19","download_url":"https://codeload.github.com/jameschapman19/proxtorch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jameschapman19%2Fproxtorch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279009475,"owners_count":26084609,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"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":["proximal-gradient-descent","proximal-operator","proximal-operators","proximal-regularization"],"created_at":"2024-11-14T18:27:01.928Z","updated_at":"2025-10-12T00:06:04.145Z","avatar_url":"https://github.com/jameschapman19.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"docs/source/proxtorch-logo.jpg\" alt=\"ProxTorch Logo\" width=\"200\"/\u003e\n\n# ProxTorch\n\n**Unleashing Proximal Gradient Descent on PyTorch** 🚀\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5748062.svg)](https://doi.org/10.5281/zenodo.4382739)\n[![codecov](https://codecov.io/gh/jameschapman19/ProxTorch/graph/badge.svg?token=909RDXcEZK)](https://codecov.io/gh/jameschapman19/ProxTorch)\n[![version](https://img.shields.io/pypi/v/ProxTorch)](https://pypi.org/project/ProxTorch/)\n[![downloads](https://img.shields.io/pypi/dm/ProxTorch)](https://pypi.org/project/ProxTorch/)\n\n\u003c/div\u003e\n\n🔍 **What is ProxTorch?**  \nDive into a rich realm of proximal operators and constraints with `ProxTorch`, a state-of-the-art Python library crafted\non PyTorch. Whether it's optimization challenges or the complexities of machine learning, `ProxTorch` is designed for\nspeed, efficiency, and seamless GPU integration.\n\n## ✨ **Features**\n\n- **🚀 GPU-Boosted**: Experience lightning-fast computations with extensive CUDA support.\n- **🔥 PyTorch Synergy**: Naturally integrates with all your PyTorch endeavours.\n- **📚 Expansive Library**: From elemental norms (`L0`, `L1`, `L2`, `L∞`) to advanced regularizations like Total\n  Variation and Fused Lasso.\n- **🤝 User-Friendly**: Jump right in! Intuitive design means minimal disruptions to your existing projects.\n\n## 🛠 **Installation**\n\nGetting started with `ProxTorch` is a breeze. Install from PyPI with:\n\n```bash\npip install proxtorch\n```\n\nOr install from source with:\n\n```bash\ngit clone\ncd ProxTorch\npip install -e .\n```\n\n\n## 🚀 **Quick Start**\n\nDive in with this straightforward example:\n\n```python\nimport torch\nfrom proxtorch.operators import L1\n\n# Define a sample tensor\nx = torch.tensor([0.5, -1.2, 0.3, -0.4, 0.7])\n\n# Initialize the L1 proximal operator\nl1_prox = L1(sigma=0.1)\n\n# Compute the regularization component value\nreg_value = l1_prox(x)\nprint(\"Regularization Value:\", reg_value)\n\n# Apply the proximal operator\nresult = l1_prox.prox(x)\nprint(\"Prox Result:\", result)\n```\n\n## 📜 **Diverse Proximal Operators**\n\n### **Regularizers**\n\n- **L1**, **L2 (Ridge)**, **ElasticNet**, **GroupLasso**, **TV** (includes TV_2D, TV_3D, TVL1_2D, TVL1_3D), **Frobenius\n  **\n- **Norms**: TraceNorm, NuclearNorm\n- **FusedLasso**, **Huber**\n\n### **Constraints**\n\n- **L0Ball**, **L1Ball**, **L2Ball**, **L∞Ball (Infinity Norm)**, **Frobenius**, **TraceNorm**, **Box**\n\n## 📖 **Documentation**\n\nExplore the comprehensive documentation on [Read the Docs](https://proxtorch.readthedocs.io/en/latest/).\n\n## 🙌 **Credits**\n\n`ProxTorch` stands on the shoulders of giants:\n\n- [pyproximal](https://github.com/PyLops/pyproximal)\n- [ProxGradPyTorch](https://github.com/KentonMurray/ProxGradPytorch)\n- [nilearn](https://github.com/nilearn/nilearn/blob/321494420f95c7a5e2172108400194b37a02e628/nilearn/decoding/proximal_operators.py)\n\nWe're thrilled to introduce `ProxTorch` as an exciting addition to the PyTorch ecosystem. We're confident you'll love\nit!\n\n## 🤝 **Contribute to the ProxTorch Revolution**\n\nGot ideas? Join our vibrant community and make `ProxTorch` even better!\n\n## 📜 **License**\n\n`ProxTorch` is proudly released under the [MIT License](LICENSE).\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjameschapman19%2Fproxtorch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjameschapman19%2Fproxtorch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjameschapman19%2Fproxtorch/lists"}