{"id":24093222,"url":"https://github.com/umd-lib/plastron","last_synced_at":"2025-05-07T05:05:48.631Z","repository":{"id":38810956,"uuid":"129452615","full_name":"umd-lib/plastron","owner":"umd-lib","description":"Utility for batch operations on a Fedora 4 repository","archived":false,"fork":false,"pushed_at":"2025-05-06T21:16:54.000Z","size":2251,"stargazers_count":6,"open_issues_count":0,"forks_count":6,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-05-07T05:05:36.513Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://umd-lib.github.io/plastron/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/umd-lib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2018-04-13T20:56:35.000Z","updated_at":"2024-10-21T20:50:07.000Z","dependencies_parsed_at":"2023-09-26T18:14:13.952Z","dependency_job_id":"c647b9e0-41f6-46fc-ad3c-3ed37a2dd0fd","html_url":"https://github.com/umd-lib/plastron","commit_stats":null,"previous_names":[],"tags_count":94,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fplastron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fplastron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fplastron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umd-lib%2Fplastron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umd-lib","download_url":"https://codeload.github.com/umd-lib/plastron/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252817010,"owners_count":21808705,"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","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":[],"created_at":"2025-01-10T09:26:11.050Z","updated_at":"2025-05-07T05:05:48.591Z","avatar_url":"https://github.com/umd-lib.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Plastron\n\nTools for working with a Fedora 4 repository.\n\n## Architecture\n\nPlastron is composed of several distribution packages, arranged in three \nlayers:\n\n### Applications\n\n* **[plastron-cli](plastron-cli)**: Command-line tool. Also includes the\n  handler classes for the `load` command\n* **[plastron-stomp](plastron-stomp)**: STOMP daemon for handling\n  asynchronous operations\n* **[plastron-web](plastron-web)**: Web application for handling\n  synchronous operations\n\n### High-Level APIs\n\n* **[plastron-models](plastron-models)**: Content models, CSV\n  serialization\n* **[plastron-repo](plastron-repo)**: Repository operations and structural\n  models (LDP, PCDM, Web Annotations, etc.)\n\n### Low-level APIs\n\n* **[plastron-client](plastron-client)**: The Fedora repository API client\n* **[plastron-messaging](plastron-messaging)**: STOMP message models and \n  message broker connection handling\n* **[plastron-rdf](plastron-rdf)**: RDF-to-Python property mapping\n* **[plastron-utils](plastron-utils)**: Namespace definitions \n  and miscellaneous utilities\n\nThe intent is that these distribution packages are independently useful,\neither as tools that can be run or libraries to be included in other projects.\n\n## Installation\n\nRequires Python 3.8+\n\nTo install just the API libraries (low- and high-level):\n\n```zsh\npip install plastron\n```\n\nTo install the applications as well:\n\n```zsh\n# individually\npip install 'plastron[cli]'\npip install 'plastron[stomp]'\npip install 'plastron[web]'\n\n# all together\npip install 'plastron[cli,stomp,web]'\n```\n\n## Running\n\n* [Command-line client](plastron-cli/README.md)\n* [STOMP daemon](plastron-stomp/README.md)\n* [HTTP webapp](plastron-web/README.md)\n\n## Development\n\nThis repository includes a [.python-version](.python-version) file. If you are\nusing a tool like [pyenv] to manage your Python versions, it will select\nan installed Python 3.8 for you.\n\nTo install Plastron in [development mode], do the following:\n\n```zsh\ngit clone git@github.com:umd-lib/plastron.git\ncd plastron\npython -m venv --prompt \"plastron-py$(cat .python-version)\" .venv\nsource .venv/bin/activate\npip install \\\n    -e './plastron-utils[test]' \\\n    -e './plastron-client[test]' \\\n    -e './plastron-rdf[test]' \\\n    -e './plastron-messaging[test]' \\\n    -e './plastron-models[test]' \\\n    -e './plastron-repo[test]' \\\n    -e './plastron-web[test]' \\\n    -e './plastron-stomp[test]' \\\n    -e './plastron-cli[test]'\n```\n\nThis allows for in-place editing of Plastron's source code in the git\nrepository (i.e., it is not locked away in a Python site-packages directory\nstructure).\n\n### Testing\n\nPlastron uses the [pytest] test framework for its tests.\n\n```bash\npytest\n```\n\nSee the [testing documentation](docs/testing.md) for more\ninformation.\n\n## API Documentation\n\nTo generate API documentation from the code, use [pdoc]:\n\n```bash\npip install pdoc\n```\n\nTo use the built-in, live-reloading web server to generate and browse the \ndocumentation, use:\n\n```bash\npdoc plastron\n```\n\nThe generated HTML documentation will be available at \n\u003chttp://localhost:8080/plastron.html\u003e.\n\n## Name\n\n\u003e The plastron is the nearly flat part of the shell structure of a turtle,\n\u003e what one would call the belly or ventral surface of the shell.\n\nSource: [Wikipedia](https://en.wikipedia.org/wiki/Turtle_shell#Plastron)\n\n## License\n\nSee the [LICENSE](LICENSE.md) file for license rights and\nlimitations (Apache 2.0).\n\n[development mode]: https://packaging.python.org/tutorials/installing-packages/#installing-from-vcs\n[pytest]: https://pypi.org/project/pytest/\n[pyenv]: https://github.com/pyenv/pyenv\n[pdoc]: https://pdoc.dev/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumd-lib%2Fplastron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumd-lib%2Fplastron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumd-lib%2Fplastron/lists"}