{"id":18726899,"url":"https://github.com/pytroll/satpy-composites-plugin-example","last_synced_at":"2025-11-11T21:30:21.237Z","repository":{"id":49437033,"uuid":"248712161","full_name":"pytroll/satpy-composites-plugin-example","owner":"pytroll","description":"Satpy composites plugin example package","archived":false,"fork":false,"pushed_at":"2022-08-21T20:11:28.000Z","size":40,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-28T13:32:49.437Z","etag":null,"topics":[],"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/pytroll.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-20T09:07:16.000Z","updated_at":"2022-07-15T19:03:34.000Z","dependencies_parsed_at":"2022-09-06T23:21:43.673Z","dependency_job_id":null,"html_url":"https://github.com/pytroll/satpy-composites-plugin-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytroll%2Fsatpy-composites-plugin-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytroll%2Fsatpy-composites-plugin-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytroll%2Fsatpy-composites-plugin-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytroll%2Fsatpy-composites-plugin-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pytroll","download_url":"https://codeload.github.com/pytroll/satpy-composites-plugin-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239592971,"owners_count":19664855,"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":"2024-11-07T14:15:50.207Z","updated_at":"2025-11-11T21:30:21.189Z","avatar_url":"https://github.com/pytroll.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Example Satpy Plugin Package - Composites\n\n[![CI](https://github.com/pytroll/satpy-composites-plugin-example/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/pytroll/satpy-composites-plugin-example/actions/workflows/ci.yaml)\n\nThis is a toy package to show how to make an independent package that adds\nor changes functionality to Satpy. This package specifically adds new\ncomposites, but Satpy also supports adding readers, writers, and enhancements.\n\nSee the\n[Satpy Plugin Documentation](https://satpy.readthedocs.io/en/latest/dev_guide/plugins.html)\nfor more information.\n\n## Install\n\nThis package is *NOT* available from PyPI or conda. It is purely an example and\nproof of concept. It is only possible to install this package from source. If\nyou are hoping to use this package as a starting point then you likely want to\ninstall it in \"editable\" mode. This can be done by running:\n\n```bash\npip install -e .\n```\n\nThis will make any changes to the Python or YAML content in your package\navailable to your scripts automatically. However, if you change the entry point\ndefinitions in the ``pyproject.toml`` (or ``setup.py``) you will likely need\nto reinstall the package by running the above command again.\n\n## Repository contents\n\nThis project contains five types of files and directories in addition to this README:\n\n1. ``pyproject.toml``: The package and entry point definitions. You could also\n   implement this in a ``setup.py`` not shown here.\n2. ``satpy_cpe``: The plugin Python package.\n3. ``satpy_cpe/etc``: The plugin component configuration directory where custom\n   YAML files are stored.\n4. ``.github``: Automated tests run automatically on GitHub. These exist\n   primarily to verify that this example still works with the upstream Satpy\n   package. It is not technically required to make a Satpy plugin package.\n5. ``.gitignore``: This file tells ``git`` which files not to include when\n   working with ``git`` to update this GitHub project repository. This is also\n   not technically needed for the plugin package to work, but is highly \n   recommended in your own projects to avoid committing unwanted files to git.\n\nSee the Satpy Plugin Documentation linked above.\n\n## Contributing\n\nIf you think you've found a bug or have a question about this repository please\nfile a bug on the Satpy repository:\n\nhttps://github.com/pytroll/satpy/issues\n\nIf you would like to contribute changes to this example project, please create\na fork of the project, create a new branch, commit your changes to it, and then\ncreate a pull request.\n\nhttps://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request\n\n## Licenses\n\nDisclaimer: We are not lawyers.\n\nSatpy source code is under the GPLv3 license. This license requires any\nderivative works to also be GPLv3 or GPLv3 compatible. It is our understanding\nthat importing a Python module could be considered \"linking\" that source code\nto your own (thus being a derivative work) and would therefore require your\ncode to be licensed with a GPLv3-compatible license. It is currently only\npossible to make a Satpy-compatible plugin without importing Satpy if it\ncontains only enhancements. Writers and compositors are possible without\nsubclassing, but are likely difficult to implement. Readers are even more\ndifficult to implement without using Satpy's base classes and utilities.\nIt is also our understanding that if your custom Satpy plugin code is not\npublicly released then it does not need to be GPLv3.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpytroll%2Fsatpy-composites-plugin-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpytroll%2Fsatpy-composites-plugin-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpytroll%2Fsatpy-composites-plugin-example/lists"}