{"id":28220711,"url":"https://github.com/watermarkhu/maxx","last_synced_at":"2026-02-08T15:01:08.132Z","repository":{"id":293101079,"uuid":"982840079","full_name":"watermarkhu/maxx","owner":"watermarkhu","description":"🌾 Python library for parsing and analyzing MATLAB code, providing support for extracting signatures, documentation, and metadata from MATLAB projects including functions, classes, scripts, and namespaces..","archived":false,"fork":false,"pushed_at":"2026-01-31T17:42:10.000Z","size":1423,"stargazers_count":3,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-31T22:09:49.991Z","etag":null,"topics":["documentation","matlab","python","tree-sitter"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/watermarkhu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","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":"watermarkhu"}},"created_at":"2025-05-13T13:36:41.000Z","updated_at":"2026-01-31T17:42:13.000Z","dependencies_parsed_at":"2025-05-13T17:52:07.674Z","dependency_job_id":"0b75d517-c66a-4364-a3ca-e555dcfe49ee","html_url":"https://github.com/watermarkhu/maxx","commit_stats":null,"previous_names":["watermarkhu/malt","watermarkhu/maxx"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/watermarkhu/maxx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/watermarkhu%2Fmaxx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/watermarkhu%2Fmaxx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/watermarkhu%2Fmaxx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/watermarkhu%2Fmaxx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/watermarkhu","download_url":"https://codeload.github.com/watermarkhu/maxx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/watermarkhu%2Fmaxx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29234154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T14:18:14.570Z","status":"ssl_error","status_checked_at":"2026-02-08T14:18:14.071Z","response_time":57,"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":["documentation","matlab","python","tree-sitter"],"created_at":"2025-05-18T04:16:10.164Z","updated_at":"2026-02-08T15:01:08.107Z","avatar_url":"https://github.com/watermarkhu.png","language":"Python","funding_links":["https://github.com/sponsors/watermarkhu"],"categories":[],"sub_categories":[],"readme":"# maxx\n\n[![CI](https://github.com/watermarkhu/maxx/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/watermarkhu/maxx/actions/workflows/ci.yml)\n[![pypi version](https://img.shields.io/pypi/v/maxx.svg)](https://pypi.org/project/maxx/)\n[![Python](https://img.shields.io/badge/Python-3.10%2B-blue)](https://www.python.org)\n[![codecov](https://codecov.io/github/watermarkhu/maxx/graph/badge.svg?token=230Qtw5Wgy)](https://codecov.io/github/watermarkhu/maxx)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n\u003cimg src=\"https://raw.githubusercontent.com/watermarkhu/maxx/refs/heads/main/img/malt-pixel.svg\" alt=\"malt logo, created by Mark Shui Hu\" width=\"100\" align=\"right\"\u003e\n\n**maxx** (MATLAB Language Tools) is a Python library for parsing and analyzing MATLAB code. It provides comprehensive support for extracting signatures, documentation, and metadata from MATLAB projects including functions, classes, scripts, and packages.\n\n### Features\n\n- 🔍 **Parse MATLAB files** - Extract functions, classes, properties, and methods\n- 📁 **Project structure analysis** - Handle MATLAB packages, namespaces, and class folders\n- 📖 **Documentation extraction** - Parse docstrings and comments from MATLAB code\n- 🎯 **Type information** - Extract argument types, validation functions, and return types\n- 🌳 **Tree-sitter based** - Fast and accurate parsing using tree-sitter-matlab\n- 🔗 **Integration ready** - Built for documentation generators like MkDocs\n\n## Installation\n\nUsing `pip`:\n\n```bash\npip install maxx\n```\n\nUsing `uv`:\n\n```bash\nuv add maxx\n```\n\n## Quick Start\n\n### Basic File Parsing\n\n```python\nfrom pathlib import Path\nfrom maxx.treesitter import FileParser\n\n# Parse a MATLAB function file\nparser = FileParser(Path(\"myfunction.m\"))\nmatlab_object = parser.parse()\n\nprint(f\"Object type: {matlab_object.kind}\")\nprint(f\"Name: {matlab_object.name}\")\nprint(f\"Arguments: {matlab_object.arguments}\")\nprint(f\"Docstring: {matlab_object.docstring}\")\n```\n\n### Project Collection\n\n```python\nfrom maxx.collection import PathsCollection\nfrom pathlib import Path\n\n# Collect all MATLAB objects from a project\npaths = PathsCollection([Path(\"src\"), Path(\"examples\")])\n\n# Access parsed objects\nmy_function = paths[\"myfunction\"]\nmy_class = paths[\"MyClass\"]\nmy_package = paths[\"+mypackage.MyFunction\"]\n```\n\n### Working with Classes\n\n```python\n# Access class members\nmatlab_class = paths[\"MyClass\"]\nprint(f\"Base classes: {matlab_class.bases}\")\nprint(f\"Properties: {list(matlab_class.members.keys())}\")\n\n# Access methods and properties\nconstructor = matlab_class.constructor\nproperties = [m for m in matlab_class.members.values() if m.is_property]\n```\n\n## Supported MATLAB Constructs\n\n- **Functions** - Regular functions, nested functions, methods\n- **Classes** - Class definitions, properties, methods, inheritance\n- **Scripts** - Script files and their documentation\n- **Packages** - Namespace packages (`+package`) and class folders (`@class`)\n- **Arguments blocks** - Input/output validation and type information\n- **Properties blocks** - Class properties with attributes and validation\n\n\n## License\n\nThis project is licensed under the GPL-3.0 License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwatermarkhu%2Fmaxx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwatermarkhu%2Fmaxx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwatermarkhu%2Fmaxx/lists"}