{"id":44079408,"url":"https://github.com/pacificclimate/pydap-extras","last_synced_at":"2026-02-08T08:34:30.450Z","repository":{"id":47155291,"uuid":"351904981","full_name":"pacificclimate/pydap-extras","owner":"pacificclimate","description":"Consolidates all PCIC Pydap handlers and responses. Uses the mainline Pydap for Python 3.","archived":false,"fork":false,"pushed_at":"2024-11-29T19:55:55.000Z","size":1161,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-11-29T20:29:19.686Z","etag":null,"topics":["actions","pip","pypi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pacificclimate.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"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}},"created_at":"2021-03-26T20:32:04.000Z","updated_at":"2023-11-07T05:12:56.000Z","dependencies_parsed_at":"2023-11-20T22:23:15.682Z","dependency_job_id":"114ef8af-5360-449d-910d-598259a110d6","html_url":"https://github.com/pacificclimate/pydap-extras","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/pacificclimate/pydap-extras","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacificclimate%2Fpydap-extras","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacificclimate%2Fpydap-extras/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacificclimate%2Fpydap-extras/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacificclimate%2Fpydap-extras/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pacificclimate","download_url":"https://codeload.github.com/pacificclimate/pydap-extras/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacificclimate%2Fpydap-extras/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29225478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T06:05:31.539Z","status":"ssl_error","status_checked_at":"2026-02-08T05:58:33.853Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["actions","pip","pypi"],"created_at":"2026-02-08T08:34:29.863Z","updated_at":"2026-02-08T08:34:30.440Z","avatar_url":"https://github.com/pacificclimate.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pydap_extras\n\nConsolidates all PCIC Pydap handlers and responses. Uses the mainline Pydap for Python 3.\n\n## Development and testing\n\nIt is best practice to install Python projects in a virtual environment. We use [Poetry](https://python-poetry.org/) to manage Python package dependencies and virtual environments. All instructions in this section assume that Poetry is installed on the host system. \n\n### Installation\n\nThis package uses GDAL version 3.0.4. It is tricky to install correctly. The following rigmarole, specifically with pre-installations and a special version of `setuptools`, appears to the only way to get a successful installation. A brief explanation follows:\n\n1. GDAL 3.0.4 requires something called `use_2to3`. Modern versions of `setuptools` do not support it; only versions `setuptools\u003c58` do. See, for example,\n\n   -   https://github.com/nextgis/pygdal/issues/67\n   -   https://github.com/pypa/setuptools/issues/2781\n   -   https://github.com/OSGeo/gdal/issues/7541\n\n   We must therefore explicitly install `setuptools\u003c58` before we install `gdal`.\n\n2. GDAL 3.0.4 cannot be installed successfully by later versions of `pip`. Version 22.3.1 does work. We must ensure it is installed before installing `gdal`.\n\n3. GDAL 3.0.4 depends on `numpy`. This is apparently not declared as a dependency but _is_ flagged by `gdal` as a warning if it is not already installed, and causes the installation to fail. The version must be `numpy\u003c=1.21`. Pre-installing `numpy` solves this problem.\n\n4. Poetry somehow still stumbles over installing `gdal==3.0.4` using its own tooling. However, `gdal` can be installed via Poetry into the virtualenv by using the appropriate version of `pip` (see previous item). This circumvents whatever Poetry does. \n\n5. Once the above steps have been taken, the installation can be completed using the normal `poetry install`.\n\n6. Note that dependencies have been organized into groups to make this as simple as possible. If and when later versions of GDAL are specified, this organization and the installation steps are likely to need to be updated. (Possibly, it will become simpler.) \n\nHence:\n\n```bash \n# Pre-install initial packages (pip, setuptools, numpy) \npoetry install --only initial\n# Install gdal using pip3 into the Poetry virtualenv\npoetry run pip3 install gdal==3.0.4\n# Install rest of project\npoetry install\n```\n\n### Running unit tests\n\n```bash  \npoetry run pytest\n```\n\n## App\n\nThe app will run on port 8001.\n\n```bash  \npoetry run python pydap_extras/app.py [filepath]\n```\n\n## Releasing\n\n1. Modify `tool.poetry.version` in `pyproject.toml`.\n1. Summarize release changes in `NEWS.md`\n1. Commit these changes, then tag the release\n   ```bash\n   git add pyproject.toml NEWS.md\n   git commit -m\"Bump to version X.Y.Z\"\n   git tag -a -m\"X.Y.Z\" X.Y.Z\n   git push --follow-tags\n   ```\n1. Our GitHub Action `pypi-publish.yml` will build and release the package\n   on our PyPI server.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpacificclimate%2Fpydap-extras","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpacificclimate%2Fpydap-extras","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpacificclimate%2Fpydap-extras/lists"}