reproj


Namereproj JSON
Version 0.1.2 PyPI version JSON
download
home_page
SummaryReproject shapely geometries
upload_time2023-03-15 20:28:22
maintainer
docs_urlNone
author
requires_python>=3.7
licenseBSD-3-Clause
keywords projection transform vector gis geospatial geographic
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # reproj

Reproject shapely features

[![build badge](https://github.com/sgoodm/python-reproj/actions/workflows/test-with-coverage.yml/badge.svg)](https://github.com/sgoodm/python-reproj/actions/workflows/test-and-coverage.yml)
[![Coverage Status](https://coveralls.io/repos/github/sgoodm/python-reproj/badge.svg?branch=main)](https://coveralls.io/github/sgoodm/python-reproj?branch=main)
[![Downloads](https://static.pepy.tech/personalized-badge/reproj?period=total&units=international_system&left_color=lightgrey&right_color=brightgreen&left_text=Downloads)](https://pepy.tech/project/reproj)


Reproj is a minimalistic package designed to do one thing: reproject shapely features with a single call. GeoPandas has a simple `to_crs` method for GeoDataFrames which we aim to mirror in ease of use for standalone shapely features. To be honest, this isn't difficult to do using pyproj and shapely with a couple of lines of code, but we decided to make it even easier.

Without reproj, you would use the following:
``` python

import pyproj
import shapely.ops

new_transformer = pyproj.Transformer.from_crs(4326, 32630)
utm_shape = shapely.ops.transform(new_transformer.transform, wgs84_shape)

```

With reproj, all you need is:
``` python
from reproj import reproj

utm_shape = reproj(wgs84_shape, 4326, 32630)

```

To see other practical ways of using  `reproj` for your application, check out the [examples](examples).


## Installation


### Using pip

The latest version of reproj is [available on PyPi](https://pypi.org/project/reproj/), and can be installed with Pip:
```sh
pip install reproj
```

If you'd like to install the latest development (alpha) release, there may be a newer version on [TestPyPi](https://test.pypi.org/project/reproj/):
```sh
pip install -i https://test.pypi.org/simple/ reproj
```

### From source

To install this package from source, first clone this repository, then use pip to install:
```sh
git clone git@github.com:sgoodm/python-reproj.git
cd python-reproj
pip install .
```



## Contribute

New issues are always welcome, and if you'd like to make a change, fork the repo and submit a pull request.


### Testing and Coverage

We use Pytest and Coveralls to run unit tests and track code coverage of tests. If you submit code, please make sure it passes existing tests and adds relevant testing coverage for new features.

You can run tests and coverage checks locally, or you can fork the repository and utilize GitHub actions and Coveralls. To use GitHub actions and Coveralls, you'll need to add your forked repo to your own Coverall accounts and add your Coveralls token to your repository as a GitHub Secret (see below).


To run tests and coverage checks locally, you can use the following commands:
```sh
pip install pytest coverage
coverage run -m pytest ./
coverage html
```

### GitHub Secrets

There are three GitHub Secrets required to enable all of our GitHub Actions:
1. COVERALLS_REPO_TOKEN - this is the API token for Coveralls, used for publishing code coverage reports
2. TEST_PYPI_API_TOKEN - this is the API token for TestPyPi, needed for publishing alpha releases
3. PYPI_API_TOKEN - this is the API token for PyPi, needed for publishing releases

Note: contributors do not need PyPi tokens; if you create a new release in a forked repo it will trigger a GitHub action that will attempt to publish to PyPi and fail.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "reproj",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "projection,transform,vector,gis,geospatial,geographic",
    "author": "",
    "author_email": "Seth Goodman <sgoodman@aiddata.wm.edu>",
    "download_url": "https://files.pythonhosted.org/packages/91/7e/bc7d69cc91675811a027fe4d1724c905835d1c64ce6b19759c5713ae39f5/reproj-0.1.2.tar.gz",
    "platform": null,
    "description": "# reproj\n\nReproject shapely features\n\n[![build badge](https://github.com/sgoodm/python-reproj/actions/workflows/test-with-coverage.yml/badge.svg)](https://github.com/sgoodm/python-reproj/actions/workflows/test-and-coverage.yml)\n[![Coverage Status](https://coveralls.io/repos/github/sgoodm/python-reproj/badge.svg?branch=main)](https://coveralls.io/github/sgoodm/python-reproj?branch=main)\n[![Downloads](https://static.pepy.tech/personalized-badge/reproj?period=total&units=international_system&left_color=lightgrey&right_color=brightgreen&left_text=Downloads)](https://pepy.tech/project/reproj)\n\n\nReproj is a minimalistic package designed to do one thing: reproject shapely features with a single call. GeoPandas has a simple `to_crs` method for GeoDataFrames which we aim to mirror in ease of use for standalone shapely features. To be honest, this isn't difficult to do using pyproj and shapely with a couple of lines of code, but we decided to make it even easier.\n\nWithout reproj, you would use the following:\n``` python\n\nimport pyproj\nimport shapely.ops\n\nnew_transformer = pyproj.Transformer.from_crs(4326, 32630)\nutm_shape = shapely.ops.transform(new_transformer.transform, wgs84_shape)\n\n```\n\nWith reproj, all you need is:\n``` python\nfrom reproj import reproj\n\nutm_shape = reproj(wgs84_shape, 4326, 32630)\n\n```\n\nTo see other practical ways of using  `reproj` for your application, check out the [examples](examples).\n\n\n## Installation\n\n\n### Using pip\n\nThe latest version of reproj is [available on PyPi](https://pypi.org/project/reproj/), and can be installed with Pip:\n```sh\npip install reproj\n```\n\nIf you'd like to install the latest development (alpha) release, there may be a newer version on [TestPyPi](https://test.pypi.org/project/reproj/):\n```sh\npip install -i https://test.pypi.org/simple/ reproj\n```\n\n### From source\n\nTo install this package from source, first clone this repository, then use pip to install:\n```sh\ngit clone git@github.com:sgoodm/python-reproj.git\ncd python-reproj\npip install .\n```\n\n\n\n## Contribute\n\nNew issues are always welcome, and if you'd like to make a change, fork the repo and submit a pull request.\n\n\n### Testing and Coverage\n\nWe use Pytest and Coveralls to run unit tests and track code coverage of tests. If you submit code, please make sure it passes existing tests and adds relevant testing coverage for new features.\n\nYou can run tests and coverage checks locally, or you can fork the repository and utilize GitHub actions and Coveralls. To use GitHub actions and Coveralls, you'll need to add your forked repo to your own Coverall accounts and add your Coveralls token to your repository as a GitHub Secret (see below).\n\n\nTo run tests and coverage checks locally, you can use the following commands:\n```sh\npip install pytest coverage\ncoverage run -m pytest ./\ncoverage html\n```\n\n### GitHub Secrets\n\nThere are three GitHub Secrets required to enable all of our GitHub Actions:\n1. COVERALLS_REPO_TOKEN - this is the API token for Coveralls, used for publishing code coverage reports\n2. TEST_PYPI_API_TOKEN - this is the API token for TestPyPi, needed for publishing alpha releases\n3. PYPI_API_TOKEN - this is the API token for PyPi, needed for publishing releases\n\nNote: contributors do not need PyPi tokens; if you create a new release in a forked repo it will trigger a GitHub action that will attempt to publish to PyPi and fail.\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Reproject shapely geometries",
    "version": "0.1.2",
    "split_keywords": [
        "projection",
        "transform",
        "vector",
        "gis",
        "geospatial",
        "geographic"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7370cf255713734aab5ab35f297ba059ee2baee94de87066f50030c0f31911f8",
                "md5": "e25a1149b41db30d6ba992e844aef5fe",
                "sha256": "a601cbc4932816dbffc8f5309ebefcd41061935425dd63d7568a2c2cf2768bfa"
            },
            "downloads": -1,
            "filename": "reproj-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e25a1149b41db30d6ba992e844aef5fe",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 4543,
            "upload_time": "2023-03-15T20:28:20",
            "upload_time_iso_8601": "2023-03-15T20:28:20.400803Z",
            "url": "https://files.pythonhosted.org/packages/73/70/cf255713734aab5ab35f297ba059ee2baee94de87066f50030c0f31911f8/reproj-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "917ebc7d69cc91675811a027fe4d1724c905835d1c64ce6b19759c5713ae39f5",
                "md5": "3c9c4e8d75eceb34c3edd2417e7c629d",
                "sha256": "126cfb50acc43d08b74b2b167299011e75785e7dacc55135b18a2ad300bd158e"
            },
            "downloads": -1,
            "filename": "reproj-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "3c9c4e8d75eceb34c3edd2417e7c629d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 5154,
            "upload_time": "2023-03-15T20:28:22",
            "upload_time_iso_8601": "2023-03-15T20:28:22.089069Z",
            "url": "https://files.pythonhosted.org/packages/91/7e/bc7d69cc91675811a027fe4d1724c905835d1c64ce6b19759c5713ae39f5/reproj-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-15 20:28:22",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "reproj"
}
        
Elapsed time: 0.04358s