A package built to support working with spatial data using open source python

Overview

DOI pyOpenSci Build Status Build status codecov Docs build Code style: black

EarthPy

PyPI PyPI - Downloads Conda Conda

EarthPy makes it easier to plot and manipulate spatial data in Python.

Why EarthPy?

Python is a generic programming language designed to support many different applications. Because of this, many commonly performed spatial tasks for science including plotting and working with spatial data take many steps of code. EarthPy builds upon the functionality developed for raster data (rasterio) and vector data (geopandas) in Python and simplifies the code needed to:

EarthPy also has an io module that allows users to

  1. Quickly access pre-created data subsets used in the earth-analytics courses hosted on www.earthdatascience.org
  2. Download other datasets that they may want to use in their workflows.

EarthPy's design was inspired by the raster and sp package functionality available to R users.

View Example EarthPy Applications in Our Documentation Gallery

Check out our vignette gallery for applied examples of using EarthPy in common spatial workflows.

Install

EarthPy can be installed using pip, but we strongly recommend that you install it using conda and the conda-forge channel.

Install Using Conda / conda-forge Channel (Preferred)

If you are working within an Anaconda environment, we suggest that you install EarthPy using conda-forge

$ conda install -c conda-forge earthpy

Note: if you want to set conda-forge as your default conda channel, you can use the following install workflow. We recommmend this approach. Once you have run conda config, you can install earthpy without specifying a channel.

$ conda config --add channels conda-forge
$ conda install earthpy

Install via Pip

We strongly suggest that you install EarthPy using conda-forge given pip can be more prone to spatial library dependency conflicts. However, you can install earthpy using pip.

To install EarthPy via pip use:

$ pip install --upgrade earthpy

Once you have successfully installed EarthPy, you can import it into Python.

>>> import earthpy.plot as ep

Below is a quick example of plotting multiple bands in a numpy array format.

>>> arr = np.random.randint(4, size=(3, 5, 5))
>>> ep.plot_bands(arr, titles=["Band 1", "Band 2", "Band 3"])
>>> plt.show()

Active Maintainers

We welcome contributions to EarthPy. Below are the current active package maintainers. Please see our contributors file for a complete list of all of our contributors.

Leah Wasser Max Joseph Joseph McGlinchy Jenny Palomino Nathan Korinek

Contributors

We've welcome any and all contributions. Below are some of the contributors to EarthPy. We are currently trying to update this list!!

Michelle Roby Tim Head Michelle Roby Michelle Roby

How to Contribute

We welcome contributions to EarthPy! Please be sure to check out our contributing guidelines for more information about submitting pull requests or changes to EarthPy.

License & Citation

BSD-3

Citation Information

When citing EarthPy, please cite our JOSS paper:

@article{Wasser2019EarthPy,
	journal = {Journal of Open Source Software},
	doi = {10.21105/joss.01886},
	issn = {2475-9066},
	number = {43},
	publisher = {The Open Journal},
	title = {EarthPy: A Python package that makes it easier to explore and plot raster and vector data using open source Python tools.},
	url = {https://doi.org/10.21105/joss.01886},
	volume = {4},
	author = {Wasser, Leah and Joseph, Maxwell and McGlinchy, Joe and Palomino, Jenny and Korinek, Nathan and Holdgraf, Chris and Head, Tim},
	pages = {1886},
	date = {2019-11-13},
	year = {2019},
	month = {11},
	day = {13},
}

Comments
  • PIP Installation problem - ModuleNotFoundError: No module named 'numpy' <resolved>

    PIP Installation problem - ModuleNotFoundError: No module named 'numpy'

    I tried installing earthpy using pip3 install --upgrade git+https://github.com/earthlab/earthpy.git

    And I get the following error `Collecting git+https://github.com/earthlab/earthpy.git Cloning https://github.com/earthlab/earthpy.git to /tmp/pip-req-build-oi4iyxo6 Installing build dependencies ... done Getting requirements to build wheel ... error Complete output from command /usr/bin/python3 /usr/local/lib/python3.6/dist-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmp0kktck3c: Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pep517/_in_process.py", line 207, in main() File "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pep517/_in_process.py", line 197, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pep517/_in_process.py", line 54, in get_requires_for_build_wheel return hook(config_settings) File "/tmp/pip-build-env-lny3v0hx/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 115, in get_requires_for_build_wheel return _get_build_requires(config_settings, requirements=['wheel']) File "/tmp/pip-build-env-lny3v0hx/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 101, in _get_build_requires _run_setup() File "/tmp/pip-build-env-lny3v0hx/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 85, in _run_setup exec(compile(code, file, 'exec'), locals()) File "setup.py", line 3, in from numpy.distutils.core import setup ModuleNotFoundError: No module named 'numpy'


    Command "/usr/bin/python3 /usr/local/lib/python3.6/dist-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmp0kktck3c" failed with error code 1 in /tmp/pip-req-build-oi4iyxo6`

    I did not understand why I got this error and figured it might be an error with my setuptools so I did pip3 install --upgrade setuptools

    And the error still persisted, meanwhile numpy is correctly installed and i can import it in any program I run. Could someone kindly help me out with this error?

    bug 
    opened by Silas-Asamoah 25
  • Test across versions and platforms

    Test across versions and platforms

    This tests earthpy against python 3.5 through 3.7 using tox, and also uses AppVeyor to test earthpy on Windows. Last, this updates documentation for development using conda or virtualenv and testing of multiple python versions with tox.

    As part of the review, let's take the updated development instructions in CONTRIBUTING.rst for a test drive. I will be curious to see what issues come up, especially on Windows. I'm opening this as a draft PR until we get some more eyes on it.

    Solves the hardest part of #228 - testing on Windows (but we should leave that issue open until we get some tests in CI for macOS). Closes #213. Also closes #185.

    enhancement package structure & testing review requested 
    opened by mbjoseph 23
  • Vignette #3 Creation, Stack and Crop Raster

    Vignette #3 Creation, Stack and Crop Raster

    Creating a vignette to help people know how to stack and crop rasters with GeoPandas objects in earthpy. Code is ready to go, just need to write the instructions!

    enhancement 
    opened by nkorinek 18
  • Support for clipping multi part polygon's in earthpy

    Support for clipping multi part polygon's in earthpy

    When calling earthpy.clip, if either the clip feature or the source feature have "multi" in their geometry, the clip fails. This creates the need to use .explode, and then .reset_index(level=[1]) on all parts of the clip for the function to work. We should look into if there is a way to do this in the function itself. @lwasser

    enhancement 
    opened by nkorinek 16
  • Use setuptools in setup.py

    Use setuptools in setup.py

    This PR removes the installation dependency on numpy's distutils module, and instead uses setuptools as recommended by the PSF: https://packaging.python.org/guides/tool-recommendations/

    The use of numpy's distutils module seems to be unnecessary for earthpy, because it does not use the specialized features in numpy.distutils (e.g., the ability to handle Fortan source files as described here: https://docs.scipy.org/doc/numpy-1.14.0/f2py/distutils.html)

    Locally, this solved #206 for me. I'm opening this as a draft to see how the builds shake out on Travis. I also would like to have other folks (@lwasser and @joemcglinchy if you have time) test this on Mac and Windows if possible, to make sure that the installation still proceeds as expected given the changes to setup.py.

    documentation review requested 
    opened by mbjoseph 16
  • Stack raster tests jm

    Stack raster tests jm

    i removed the original stack_raster_tifs -> stack workflow and replaced it with stack -> stack_bands. the old workflow functions have a warning saying what to use and exit immediately.

    opened by joemcglinchy 16
  • Clip Module - polygon should use overlay() rather than the rtree approach & Multi Poly Issues

    Clip Module - polygon should use overlay() rather than the rtree approach & Multi Poly Issues

    Currently the clip module uses the same approach for lines and polygons. this is because overlay() which handles clip does not handle lines. We should do the following

    • [x] Test whether the clip fun I wrote is faster or slower than the overlay() function with how=intersects as an option. Adjust function accordingly.
    • [x] It follows that clip will fail if provided a multi-polygon (or line i presume) layer. There are two options here a. When a multi object is provided to the function, it gracefully fails telling the user to handle multi objects - potentially via explode() OR b. The function is smart enough to finds multi objects and explode them before trying to run an intersection. Which brings me to the next missing test
    • [x] Test what happens when a clip object provided has multiple polygons in it OR
    • [x] Test what happens when a clip object provided is a point or line (should return error)
    enhancement 
    opened by lwasser 16
  • Add crop_all Function to earthpy - new functionality

    Add crop_all Function to earthpy - new functionality

    Rough draft of function for the crop-all operation discussed in issue https://github.com/earthlab/earthpy/issues/333 . Still need to implement tests for the function.

    enhancement 
    opened by nkorinek 14
  • Updating and renaming mask functions

    Updating and renaming mask functions

    I am working on some changes for the mask functions. Below are my proposed changes.

    • [x] make the first two functions (make_cloud_mask & apply_cloud_mask) private helper functions (SUNDER)
    • [x] switch vals to an optional variable (in case the user has already created a mask they want to use
    • [x] modify code to account for if the user provides a pixel qa layer with values vs. their own mask raster
    • [x] add test for when user calls main function without vals
    • [x] rename the functions to be clearer and more descriptive

    I am asking for feedback on the renaming of these functions.

    I think using the term “cloud mask” in the functions is misleading, because the functions can be used for more than just masking for clouds (i.e. snow or water). Some ideas for the renaming the functions are: make_cloud_mask --> _create_mask apply_cloud_mask --> _apply_mask make_apply_mask --> mask_array

    An aspect of the functions we also might want to modify is using the term “mask” all together to avoid confusion with rasterio’s mask. For this part, I am not quite sure what alternative term we could use, but it is something to think about!

    Please comment your thoughts on my suggestions/other ideas you have!

    opened by mirob9363 13
  • Add black as a pre-commit hook

    Add black as a pre-commit hook

    This adds black as a pre-commit hook.

    I followed the link to the blog post Joe linked to and then ended up on https://github.com/ambv/black#version-control-integration which uses the same tool (pre-commit) to set things up. Conclusion: I just followed the instructions 😄.

    I didn't add flake8 as a pre-commit hook as I think black will reformat changes you made that would violate pep8 in black's steamroller way of dealing with things.

    Closes #132

    opened by betatim 13
  • Please have a look at bytescale tests?

    Please have a look at bytescale tests?

    hey @joemcglinchy can you please have a look at this here

    https://travis-ci.org/earthlab/earthpy/builds/460164320#L1240

    it's throwing an error on @betatim pr what is odd about this is that the last commit actually did not fail. but in this pr clearly the bytscale tests are throwing an error.

    Can you kindly look into this as this is related to that pr that got merged accidentally? Many thanks!

    opened by lwasser 13
  • Update tox to 4.1.3

    Update tox to 4.1.3

    This PR updates tox from 3.24.4 to 4.1.3.

    Changelog

    3.28.0

    --------------------
    
    Features
    ^^^^^^^^
    
    - Support provision of tox 4 with the ``min_version`` option - by :user:`hroncok`
    `2661 &lt;https://github.com/tox-dev/tox/issues/2661&gt;`_
    

    3.27.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Replaced deprecated ``license_file`` key with ``license_files`` in ``setup.cfg`` -- by :user:`mgorny`.
    `2521 &lt;https://github.com/tox-dev/tox/issues/2521&gt;`_
    - Add env cleanup to envreport - fix PYTHONPATH leak into &quot;envreport&quot; -- by :user:`f3flight`.
    `2528 &lt;https://github.com/tox-dev/tox/issues/2528&gt;`_
    

    3.27.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Dropped ``--build-option`` in isolated builds, an alternative fix for the ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2497 &lt;https://github.com/tox-dev/tox/issues/2497&gt;`_
    - Remove read-only files in ``ensure_empty_dir``.
    `2498 &lt;https://github.com/tox-dev/tox/issues/2498&gt;`_
    - Multiple tox instances no longer clobber the ``.tox`` directory when
    ``provision_tox_env`` is used. - by :user:`masenf`
    `2515 &lt;https://github.com/tox-dev/tox/issues/2515&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Clarify that ``install_command`` only takes one command - by :user:`jugmac00`
    `2433 &lt;https://github.com/tox-dev/tox/issues/2433&gt;`_
    - Documented problems with plugin and provision env - by :user:`ziima`.
    `2469 &lt;https://github.com/tox-dev/tox/issues/2469&gt;`_
    

    3.26.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fix fallback to ``python`` environment when ``isolated_build = true`` is set -- by :user:`Unrud`
    `2474 &lt;https://github.com/tox-dev/tox/issues/2474&gt;`_
    - Fixed ``SetuptoolsDeprecationWarning`` about using ``--global-option`` -- by :user:`adamchainz`
    `2478 &lt;https://github.com/tox-dev/tox/issues/2478&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Use ``tomllib`` on Python 3.11 or later and ``tomli`` instead of ``toml`` library on lower versions - by :user:`hroncok`.
    `2463 &lt;https://github.com/tox-dev/tox/issues/2463&gt;`_
    

    3.25.1

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - ``sitepackages = true`` will add user&#x27;s site-package to the python path on Windows as expected -- by :user:`niander`
    `2402 &lt;https://github.com/tox-dev/tox/issues/2402&gt;`_
    - Avoid importing ``pipes`` on Python 3.3+ to avoid ``DeprecationWarning`` on Python 3.11 -- by :user:`adamchainz`
    `2417 &lt;https://github.com/tox-dev/tox/issues/2417&gt;`_
    - Fix ``isolated_build`` when the build process produces stderr at exit.
    `2449 &lt;https://github.com/tox-dev/tox/issues/2449&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Explain advantages of ``PIP_CONSTRAINT`` environment variable over ``--constraint`` argument.
    `2423 &lt;https://github.com/tox-dev/tox/issues/2423&gt;`_
    

    3.25.0

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed failing isolated_build because setuptools warning was captured
    in ``build_requires``. -- by :user:`zariiii9003`
    `2332 &lt;https://github.com/tox-dev/tox/issues/2332&gt;`_
    - Avoid potential 30s delay caused by socket.getfqdn(). -- by :user:`ssbarnea`
    `2375 &lt;https://github.com/tox-dev/tox/issues/2375&gt;`_
    
    
    Features
    ^^^^^^^^
    
    - Ignore missing commands if they are prefixed by ``-``
    -- by :user:`cdown`.
    `2315 &lt;https://github.com/tox-dev/tox/issues/2315&gt;`_
    - Add default environment variables (such as http_proxy) regardless of their case to passenv on UNIX -- by :user:`poggenhans`.
    `2372 &lt;https://github.com/tox-dev/tox/issues/2372&gt;`_
    - On Windows ``PROGRAMFILES``, ``PROGRAMFILES(X86)``, and ``PROGRAMDATA`` environment variables are now passed through, unmasking system values necessary to locate resources such as a C compiler.
    `2382 &lt;https://github.com/tox-dev/tox/issues/2382&gt;`_
    
    
    Documentation
    ^^^^^^^^^^^^^
    
    - Deleted the tox mailing list -- by :user:`jugmac00`
    `2364 &lt;https://github.com/tox-dev/tox/issues/2364&gt;`_
    

    3.24.5

    --------------------
    
    Bugfixes
    ^^^^^^^^
    
    - Fixed an issue where ``usedevelop`` would cause an invocation error if setup.py does not exist. -- by :user:`VincentVanlaer`
    `2197 &lt;https://github.com/tox-dev/tox/issues/2197&gt;`_
    
    Links
    • PyPI: https://pypi.org/project/tox
    • Changelog: https://pyup.io/changelogs/tox/
    opened by pyup-bot 1
  • Update importlib-metadata to 6.0.0

    Update importlib-metadata to 6.0.0

    This PR updates importlib-metadata from 4.10.0 to 6.0.0.

    The bot wasn't able to find a changelog for this release. Got an idea?

    Links
    • PyPI: https://pypi.org/project/importlib-metadata
    • Changelog: https://pyup.io/changelogs/importlib-metadata/
    • Repo: https://github.com/python/importlib_metadata
    opened by pyup-bot 1
  • Update sphinx to 6.0.0

    Update sphinx to 6.0.0

    This PR updates sphinx from 4.3.2 to 6.0.0.

    Changelog

    6.0.0

    =====================================
    
    Dependencies
    ------------
    
    * 10468: Drop Python 3.6 support
    * 10470: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and
    Docutils 0.17 support. Patch by Adam Turner
    
    Incompatible changes
    --------------------
    
    * 7405: Removed the jQuery and underscore.js JavaScript frameworks.
    
    These frameworks are no longer be automatically injected into themes from
    Sphinx 6.0. If you develop a theme or extension that uses the
    ``jQuery``, ``$``, or ``$u`` global objects, you need to update your
    JavaScript to modern standards, or use the mitigation below.
    
    The first option is to use the sphinxcontrib.jquery_ extension, which has been
    developed by the Sphinx team and contributors. To use this, add
    ``sphinxcontrib.jquery`` to the ``extensions`` list in ``conf.py``, or call
    ``app.setup_extension(&quot;sphinxcontrib.jquery&quot;)`` if you develop a Sphinx theme
    or extension.
    
    The second option is to manually ensure that the frameworks are present.
    To re-add jQuery and underscore.js, you will need to copy ``jquery.js`` and
    ``underscore.js`` from `the Sphinx repository`_ to your ``static`` directory,
    and add the following to your ``layout.html``:
    
    .. code-block:: html+jinja
    
      {%- block scripts %}
          &lt;script src=&quot;{{ pathto(&#x27;_static/jquery.js&#x27;, resource=True) }}&quot;&gt;&lt;/script&gt;
          &lt;script src=&quot;{{ pathto(&#x27;_static/underscore.js&#x27;, resource=True) }}&quot;&gt;&lt;/script&gt;
          {{ super() }}
      {%- endblock %}
    
    .. _sphinxcontrib.jquery: https://github.com/sphinx-contrib/jquery/
    
    Patch by Adam Turner.
    * 10471, 10565: Removed deprecated APIs scheduled for removal in Sphinx 6.0. See
    :ref:`dev-deprecated-apis` for details. Patch by Adam Turner.
    * 10901: C Domain: Remove support for parsing pre-v3 style type directives and
    roles. Also remove associated configuration variables ``c_allow_pre_v3`` and
    ``c_warn_on_allowed_pre_v3``. Patch by Adam Turner.
    
    Features added
    --------------
    
    * 10924: LaTeX: adopt better looking defaults for tables and code-blocks.
    See :confval:`latex_table_style` and the ``pre_border-radius`` and
    ``pre_background-TeXcolor`` :ref:`additionalcss` for the former defaults
    and how to re-enact them if desired.
    
    Bugs fixed
    ----------
    
    * 10984: LaTeX: Document :confval:`latex_additional_files` behavior for files
    with ``.tex`` extension.
    

    5.3.0

    =====================================
    
    * 10759: LaTeX: add :confval:`latex_table_style` and support the
    ``&#x27;booktabs&#x27;``, ``&#x27;borderless&#x27;``, and ``&#x27;colorrows&#x27;`` styles.
    (thanks to Stefan Wiehler for initial pull requests 6666, 6671)
    * 10840: One can cross-reference including an option value like ``:option:`--module=foobar,
    ``:option:`--module[=foobar] or ``:option:`--module foobar.
    Patch by Martin Liska.
    * 10881: autosectionlabel: Record the generated section label to the debug log.
    * 10268: Correctly URI-escape image filenames.
    * 10887: domains: Allow sections in all the content of all object description
    directives (e.g. :rst:dir:`py:function`). Patch by Adam Turner
    

    5.2.3

    =====================================
    
    * 10878: Fix base64 image embedding in ``sphinx.ext.imgmath``
    * 10886: Add ``:nocontentsentry:`` flag and global domain table of contents
    entry control option. Patch by Adam Turner
    

    5.2.2

    =====================================
    
    * 10872: Restore link targets for autodoc modules to the top of content.
    Patch by Dominic Davis-Foster.
    

    5.2.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10861: Always normalise the ``pycon3`` lexer to ``pycon``.
    * Fix using ``sphinx.ext.autosummary`` with modules containing titles in the
    module-level docstring.
    

    5.2.0.post0

    ===========================================
    
    * Recreated source tarballs for Debian maintainers.
    

    5.2.0

    =====================================
    
    Dependencies
    ------------
    
    * 10356: Sphinx now uses declarative metadata with ``pyproject.toml`` to
    create packages, using PyPA&#x27;s ``flit`` project as a build backend. Patch by
    Adam Turner.
    
    Deprecated
    ----------
    
    * 10843: Support for HTML 4 output. Patch by Adam Turner.
    
    Features added
    --------------
    
    * 10738: napoleon: Add support for docstring types using &#x27;of&#x27;, like
    ``type of type``. Example: ``tuple of int``.
    * 10286: C++, support requires clauses not just between the template
    parameter lists and the declaration.
    * 10755: linkcheck: Check the source URL of raw directives that use the ``url``
    option.
    * 10781: Allow :rst:role:`ref` role to be used with definitions and fields.
    * 10717: HTML Search: Increase priority for full title and
    subtitle matches in search results
    * 10718: HTML Search: Save search result score to the HTML element for debugging
    * 10673: Make toctree accept &#x27;genindex&#x27;, &#x27;modindex&#x27; and &#x27;search&#x27; docnames
    * 6316, 10804: Add domain objects to the table of contents. Patch by Adam Turner
    * 6692: HTML Search: Include explicit :rst:dir:`index` directive index entries
    in the search index and search results. Patch by Adam Turner
    * 10816: imgmath: Allow embedding images in HTML as base64
    * 10854: HTML Search: Use browser localstorage for highlight control, stop
    storing highlight parameters in URL query strings. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10723: LaTeX: 5.1.0 has made the &#x27;sphinxsetup&#x27; ``verbatimwithframe=false``
    become without effect.
    * 10257: C++, ensure consistent non-specialization template argument
    representation.
    * 10729: C++, fix parsing of certain non-type template parameter packs.
    * 10715: Revert 10520: &quot;Fix&quot; use of sidebar classes in ``agogo.css_t``
    

    5.1.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10701: Fix ValueError in the new ``deque`` based ``sphinx.ext.napolean``
    iterator implementation.
    * 10702: Restore compatability with third-party builders.
    

    5.1.0

    =====================================
    
    Dependencies
    ------------
    
    * 10656: Support `Docutils 0.19`_. Patch by Adam Turner.
    
    .. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05
    
    Deprecated
    ----------
    
    * 10467: Deprecated ``sphinx.util.stemmer`` in favour of ``snowballstemmer``.
    Patch by Adam Turner.
    * 9856: Deprecated ``sphinx.ext.napoleon.iterators``.
    
    Features added
    --------------
    
    * 10444: html theme: Allow specifying multiple CSS files through the ``stylesheet``
    setting in ``theme.conf`` or by setting ``html_style`` to an iterable of strings.
    * 10366: std domain: Add support for emphasising placeholders in :rst:dir:`option`
    directives through a new :confval:`option_emphasise_placeholders` configuration
    option.
    * 10439: std domain: Use the repr of some variables when displaying warnings,
    making whitespace issues easier to identify.
    * 10571: quickstart: Reduce content in the generated ``conf.py`` file. Patch by
    Pradyun Gedam.
    * 10648: LaTeX: CSS-named-alike additional :ref:`&#x27;sphinxsetup&#x27; &lt;latexsphinxsetup&gt;`
    keys allow to configure four separate border-widths, four paddings, four
    corner radii, a shadow (possibly inset), colours for border, background, shadow
    for each of the code-block, topic, attention, caution, danger, error and warning
    directives.
    * 10655: LaTeX: Explain non-standard encoding in LatinRules.xdy
    * 10599: HTML Theme: Wrap consecutive footnotes in an ``&lt;aside&gt;`` element when
    using Docutils 0.18 or later, to allow for easier styling. This matches the
    behaviour introduced in Docutils 0.19. Patch by Adam Turner.
    * 10518: config: Add ``include_patterns`` as the opposite of ``exclude_patterns``.
    Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10594: HTML Theme: field term colons are doubled if using Docutils 0.18+
    * 10596: Build failure if Docutils version is 0.18 (not 0.18.1) due
    to missing ``Node.findall()``
    * 10506: LaTeX: build error if highlighting inline code role in figure caption
    (refs: 10251)
    * 10634: Make -P (pdb) option work better with exceptions triggered from events
    * 10550: py domain: Fix spurious whitespace in unparsing various operators (``+``,
    ``-``, ``~``, and ``**``). Patch by Adam Turner (refs: 10551).
    * 10460: logging: Always show node source locations as absolute paths.
    * HTML Search: HTML tags are displayed as a part of object name
    * HTML Search: search snipets should not be folded
    * HTML Search: Minor errors are emitted on fetching search snipets
    * HTML Search: The markers for header links are shown in the search result
    * 10520: HTML Theme: Fix use of sidebar classes in ``agogo.css_t``.
    * 6679: HTML Theme: Fix inclusion of hidden toctrees in the agogo theme.
    * 10566: HTML Theme: Fix enable_search_shortcuts does not work
    * 8686: LaTeX: Text can fall out of code-block at end of page and leave artifact
    on next page
    * 10633: LaTeX: user injected ``\color`` commands in topic or admonition boxes may
    cause color leaks in PDF due to upstream `framed.sty &lt;https://ctan.org/pkg/framed&gt;`_
    bug
    * 10638: LaTeX: framed coloured boxes in highlighted code (e.g. highlighted
    diffs using Pygments style ``&#x27;manni&#x27;``) inherit thickness of code-block frame
    * 10647: LaTeX: Only one ``\label`` is generated for ``desc_signature`` node
    even if it has multiple node IDs
    * 10579: i18n: UnboundLocalError is raised on translating raw directive
    * 9577, 10088: py domain: Fix warning for duplicate Python references when
    using ``:any:`` and autodoc.
    * 10548: HTML Search: fix minor summary issues.
    

    5.0.2

    =====================================
    
    Features added
    --------------
    
    * 10523: HTML Theme: Expose the Docutils&#x27;s version info tuple as a template
    variable, ``docutils_version_info``. Patch by Adam Turner.
    
    Bugs fixed
    ----------
    
    * 10538: autodoc: Inherited class attribute having docstring is documented even
    if :confval:`autodoc_inherit_docstring` is disabled
    * 10509: autosummary: autosummary fails with a shared library
    * 10497: py domain: Failed to resolve strings in Literal. Patch by Adam Turner.
    * 10523: HTML Theme: Fix double brackets on citation references in Docutils 0.18+.
    Patch by Adam Turner.
    * 10534: Missing CSS for nav.contents in Docutils 0.18+. Patch by Adam Turner.
    

    5.0.1

    =====================================
    
    Bugs fixed
    ----------
    
    * 10498: gettext: TypeError is raised when sorting warning messages if a node
    has no line number. Patch by Adam Turner.
    * 10493: HTML Theme: :rst:dir:`topic` directive is rendered incorrectly with
    Docutils 0.18. Patch by Adam Turner.
    * 10495: IndexError is raised for a :rst:role:`kbd` role having a separator.
    Patch by Adam Turner.
    

    5.0.0

    * 9575: autodoc: The annotation of return value should not be shown when
    ``autodoc_typehints=&quot;description&quot;``
    * 9648: autodoc: ``*args`` and ``**kwargs`` entries are duplicated when
    ``autodoc_typehints=&quot;description&quot;``
    * 8180: autodoc: Docstring metadata ignored for attributes
    * 10443: epub: EPUB builder can&#x27;t detect the mimetype of .webp file
    * 10104: gettext: Duplicated locations are shown if 3rd party extension does
    not provide correct information
    * 10456: py domain: ``:meta:`` fields are displayed if docstring contains two
    or more meta-field
    * 9096: sphinx-build: the value of progress bar for paralle build is wrong
    * 10110: sphinx-build: exit code is not changed when error is raised on
    builder-finished event
    

    4.5.0

    =====================================
    
    Incompatible changes
    --------------------
    
    * 10112: extlinks: Disable hardcoded links detector by default
    * 9993, 10177: std domain: Disallow to refer an inline target via
    :rst:role:`ref` role
    
    Deprecated
    ----------
    
    * ``sphinx.ext.napoleon.docstring.GoogleDocstring._qualify_name()``
    
    Features added
    --------------
    
    * 10260: Enable ``FORCE_COLOR`` and ``NO_COLOR`` for terminal colouring
    * 10234: autosummary: Add &quot;autosummary&quot; CSS class to summary tables
    * 10125: extlinks: Improve suggestion message for a reference having title
    * 10112: extlinks: Add :confval:`extlinks_detect_hardcoded_links` to enable
    hardcoded links detector feature
    * 9494, 9456: html search: Add a config variable
    :confval:`html_show_search_summary` to enable/disable the search summaries
    * 9337: HTML theme, add option ``enable_search_shortcuts`` that enables :kbd:`/` as
    a Quick search shortcut and :kbd:`Esc` shortcut that
    removes search highlighting.
    * 10107: i18n: Allow to suppress translation warnings by adding ``noqa``
    comment to the tail of each translation message
    * 10252: C++, support attributes on classes, unions, and enums.
    * 10253: :rst:role:`pep` role now generates URLs based on `peps.python.org
    &lt;https://peps.python.org&gt;`_
    
    Bugs fixed
    ----------
    
    * 9876: autodoc: Failed to document an imported class that is built from native
    binary module
    * 10133: autodoc: Crashed when mocked module is used for type annotation
    * 10146: autodoc: :confval:`autodoc_default_options` does not support
    ``no-value`` option
    * 9971: autodoc: TypeError is raised when the target object is annotated by
    unhashable object
    * 10205: extlinks: Failed to compile regexp on checking hardcoded links
    * 10277: html search: Could not search short words (ex. &quot;use&quot;)
    * 9529: LaTeX: named auto numbered footnote (ex. ``[named]``) that is referred
    multiple times was rendered to a question mark
    * 9924: LaTeX: multi-line :rst:dir:`cpp:function` directive has big vertical
    spacing in Latexpdf
    * 10158: LaTeX: excessive whitespace since v4.4.0 for undocumented
    variables/structure members 
    * 10175: LaTeX: named footnote reference is linked to an incorrect footnote if
    the name is also used in the different document
    * 10269: manpage: Failed to resolve the title of :rst:role:`ref` cross references
    * 10179: i18n: suppress &quot;rST localization&quot; warning
    * 10118: imgconverter: Unnecessary availablity check is called for remote URIs
    * 10181: napoleon: attributes are displayed like class attributes for google
    style docstrings when :confval:`napoleon_use_ivar` is enabled
    * 10122: sphinx-build: make.bat does not check the installation of sphinx-build
    command before showing help
    

    4.4.0

    =====================================
    
    Dependencies
    ------------
    
    * 10007: Use ``importlib_metadata`` for python-3.9 or older
    * 10007: Drop ``setuptools``
    
    Features added
    --------------
    
    * 9075: autodoc: Add a config variable :confval:`autodoc_typehints_format`
    to suppress the leading module names of typehints of function signatures (ex.
    ``io.StringIO`` -&gt; ``StringIO``)
    * 9831: Autosummary now documents only the members specified in a module&#x27;s
    ``__all__`` attribute if :confval:`autosummary_ignore_module_all` is set to
    ``False``. The default behaviour is unchanged. Autogen also now supports
    this behavior with the ``--respect-module-all`` switch.
    * 9555: autosummary: Improve error messages on failure to load target object
    * 9800: extlinks: Emit warning if a hardcoded link is replaceable
    by an extlink, suggesting a replacement.
    * 9961: html: Support nested &lt;kbd&gt; HTML elements in other HTML builders
    * 10013: html: Allow to change the loading method of JS via ``loading_method``
    parameter for :meth:`.Sphinx.add_js_file()`
    * 9551: html search: &quot;Hide Search Matches&quot; link removes &quot;highlight&quot; parameter
    from URL
    * 9815: html theme: Wrap sidebar components in div to allow customizing their
    layout via CSS
    * 9827: i18n: Sort items in glossary by translated terms
    * 9899: py domain: Allows to specify cross-reference specifier (``.`` and
    ``~``) as ``:type:`` option
    * 9894: linkcheck: add option ``linkcheck_exclude_documents`` to disable link
    checking in matched documents.
    * 9793: sphinx-build: Allow to use the parallel build feature in macOS on macOS
    and Python3.8+
    * 10055: sphinx-build: Create directories when ``-w`` option given
    * 9993: std domain: Allow to refer an inline target (ex. ``_`target name)
    via :rst:role:`ref` role
    * 9981: std domain: Strip value part of the option directive from general index
    * 9391: texinfo: improve variable in ``samp`` role
    * 9578: texinfo: Add :confval:`texinfo_cross_references` to disable cross
    references for readability with standalone readers
    * 9822 (and 9062), add new Intersphinx role :rst:role:`external` for explict
    lookup in the external projects, without resolving to the local project.
    
    Bugs fixed
    ----------
    
    * 9866: autodoc: doccomment for the imported class was ignored
    * 9883: autodoc: doccomment for the alias to mocked object was ignored
    * 9908: autodoc: debug message is shown on building document using NewTypes
    with Python 3.10
    * 9968: autodoc: instance variables are not shown if __init__ method has
    position-only-arguments
    * 9194: autodoc: types under the &quot;typing&quot; module are not hyperlinked
    * 10009: autodoc: Crashes if target object raises an error on getting docstring
    * 10058: autosummary: Imported members are not shown when
    ``autodoc_class_signature = &#x27;separated&#x27;``
    * 9947: i18n: topic directive having a bullet list can&#x27;t be translatable
    * 9878: mathjax: MathJax configuration is placed after loading MathJax itself
    * 9932: napoleon: empty &quot;returns&quot; section is generated even if no description
    * 9857: Generated RFC links use outdated base url
    * 9909: HTML, prevent line-wrapping in literal text.
    * 10061: html theme: Configuration values added by themes are not be able to
    override from conf.py
    * 10073: imgconverter: Unnecessary availablity check is called for &quot;data&quot; URIs
    * 9925: LaTeX: prohibit also with ``&#x27;xelatex&#x27;`` line splitting at dashes of
    inline and parsed literals
    * 9944: LaTeX: extra vertical whitespace for some nested declarations
    * 9940: LaTeX: Multi-function declaration in Python domain has cramped
    vertical spacing in latexpdf output
    * 10015: py domain: types under the &quot;typing&quot; module are not hyperlinked defined
    at info-field-list
    * 9390: texinfo: Do not emit labels inside footnotes
    * 9413: xml: Invalid XML was generated when cross referencing python objects
    * 9979: Error level messages were displayed as warning messages
    * 10057: Failed to scan documents if the project is placed onto the root
    directory
    * 9636: code-block: ``:dedent:`` without argument did strip newlines
    
    Links
    • PyPI: https://pypi.org/project/sphinx
    • Changelog: https://pyup.io/changelogs/sphinx/
    opened by pyup-bot 1
  • Update pre-commit to 2.21.0

    Update pre-commit to 2.21.0

    This PR updates pre-commit from 2.15.0 to 2.21.0.

    Changelog

    2.21.0

    ===================
    
    Features
    - Require new-enough virtualenv to prevent 3.10 breakage
     - 2467 PR by asottile.
    - Respect aliases with `SKIP` for environment install.
     - 2480 PR by kmARC.
     - 2478 issue by kmARC.
    - Allow `pre-commit run --files` against unmerged paths.
     - 2484 PR by asottile.
    - Also apply regex warnings to `repo: local` hooks.
     - 2524 PR by chrisRedwine.
     - 2521 issue by asottile.
    - `rust` is now a &quot;first class&quot; language -- supporting `language_version` and
    installation when not present.
     - 2534 PR by Holzhaus.
    - `r` now uses more-reliable binary installation.
     - 2460 PR by lorenzwalthert.
    - `GIT_ALLOW_PROTOCOL` is now passed through for git operations.
     - 2555 PR by asottile.
    - `GIT_ASKPASS` is now passed through for git operations.
     - 2564 PR by mattp-.
    - Remove `toml` dependency by using `cargo add` directly.
     - 2568 PR by m-rsha.
    - Support `dotnet` hooks which have dotted prefixes.
     - 2641 PR by rkm.
     - 2629 issue by rkm.
    
    Fixes
    - Properly adjust `--commit-msg-filename` if run from a sub directory.
     - 2459 PR by asottile.
    - Simplify `--intent-to-add` detection by using `git diff`.
     - 2580 PR by m-rsha.
    - Fix `R.exe` selection on windows.
     - 2605 PR by lorenzwalthert.
     - 2599 issue by SInginc.
    - Skip default `nuget` source when installing `dotnet` packages.
     - 2642 PR by rkm.
    

    2.20.0

    ===================
    
    Features
    - Expose `source` and `object-name` (positional args) of `prepare-commit-msg`
    hook as `PRE_COMMIT_COMIT_MSG_SOURCE` and `PRE_COMMIT_COMMIT_OBJECT_NAME`.
     - 2407 PR by M-Whitaker.
     - 2406 issue by M-Whitaker.
    
    Fixes
    - Fix `language: ruby` installs when `--user-install` is set in gemrc.
     - 2394 PR by narpfel.
     - 2393 issue by narpfel.
    - Adjust pty setup for solaris.
     - 2390 PR by gaige.
     - 2389 issue by gaige.
    - Remove unused `--config` option from `gc`, `sample-config`,
    `validate-config`, `validate-manifest` sub-commands.
     - 2429 PR by asottile.
    

    2.19.0

    ===================
    
    Features
    - Allow multiple outputs from `language: dotnet` hooks.
     - 2332 PR by WallucePinkham.
    - Add more information to `healthy()` failure.
     - 2348 PR by asottile.
    - Upgrade ruby-build.
     - 2342 PR by jalessio.
    - Add `pre-commit validate-config` / `pre-commit validate-manifest` and
    deprecate `pre-commit-validate-config` and `pre-commit-validate-manifest`.
     - 2362 PR by asottile.
    
    Fixes
    - Fix `pre-push` when pushed ref contains spaces.
     - 2345 PR by wwade.
     - 2344 issue by wwade.
    
    Updating
    - Change `pre-commit-validate-config` / `pre-commit-validate-manifest` to
    `pre-commit validate-config` / `pre-commit validate-manifest`.
     - 2362 PR by asottile.
    

    2.18.1

    ===================
    
    Fixes
    - Fix regression for `repo: local` hooks running `python&lt;3.7`
     - 2324 PR by asottile.
    

    2.18.0

    ===================
    
    Features
    - Keep `GIT_HTTP_PROXY_AUTHMETHOD` in git environ.
     - 2272 PR by VincentBerthier.
     - 2271 issue by VincentBerthier.
    - Support both `cs` and `coursier` executables for coursier hooks.
     - 2293 PR by Holzhaus.
    - Include more information in errors for `language_version` /
    `additional_dependencies` for languages which do not support them.
     -  2315 PR by asottile.
    - Have autoupdate preferentially pick tags which look like versions when
    there are multiple equivalent tags.
     - 2312 PR by mblayman.
     - 2311 issue by mblayman.
    - Upgrade `ruby-build`.
     - 2319 PR by jalessio.
    - Add top level `default_install_hook_types` which will be installed when
    `--hook-types` is not specified in `pre-commit install`.
     - 2322 PR by asottile.
    
    Fixes
    - Fix typo in help message for `--from-ref` and `--to-ref`.
     - 2266 PR by leetrout.
    - Prioritize binary builds for R dependencies.
     - 2277 PR by lorenzwalthert.
    - Fix handling of git worktrees.
     - 2252 PR by daschuer.
    - Fix handling of `$R_HOME` for R hooks.
     - 2301 PR by jeff-m-sullivan.
     - 2300 issue by jeff-m-sullivan.
    - Fix a rare race condition in change stashing.
     - 2323 PR by asottile.
     - 2287 issue by ian-h-chamberlain.
    
    Updating
    - Remove python3.6 support.  Note that pre-commit still supports running hooks
    written in older versions, but pre-commit itself requires python 3.7+.
     - 2215 PR by asottile.
    - pre-commit has migrated from the `master` branch to `main`.
     - 2302 PR by asottile.
    

    2.17.0

    ===================
    
    Features
    - add warnings for regexes containing `[\\/]`.
     - 2151 issue by sanjioh.
     - 2154 PR by kuviokelluja.
    - upgrade supported ruby versions.
     - 2205 PR by jalessio.
    - allow `language: conda` to use `mamba` or `micromamba` via
    `PRE_COMMIT_USE_MAMBA=1` or `PRE_COMMIT_USE_MICROMAMBA=1` respectively.
     - 2204 issue by janjagusch.
     - 2207 PR by xhochy.
    - display `git --version` in error report.
     - 2210 PR by asottile.
    - add `language: lua` as a supported language.
     - 2158 PR by mblayman.
    
    Fixes
    - temporarily add `setuptools` to the zipapp.
     - 2122 issue by andreoliwa.
     - a737d5f commit by asottile.
    - use `go install` instead of `go get` for go 1.18+ support.
     - 2161 PR by schmir.
    - fix `language: r` with a local renv and `RENV_PROJECT` set.
     - 2170 PR by lorenzwalthert.
    - forbid overriding `entry` in `language: meta` hooks which breaks them.
     - 2180 issue by DanKaplanSES.
     - 2181 PR by asottile.
    - always use `!/bin/sh` on windows for hook script.
     - 2182 issue by hushigome-visco.
     - 2187 PR by asottile.
    

    2.16.0

    ===================
    
    Features
    - add warning for regexes containing `[\/]` or `[/\\]`.
     - 2053 PR by radek-sprta.
     - 2043 issue by asottile.
    - move hook template back to `bash` resolving shebang-portability issues.
     - 2065 PR by asottile.
    - add support for `fail_fast` at the individual hook level.
     - 2097 PR by colens3.
     - 1143 issue by potiuk.
    - allow passthrough of `GIT_CONFIG_KEY_*`, `GIT_CONFIG_VALUE_*`, and
    `GIT_CONFIG_COUNT`.
     - 2136 PR by emzeat.
    
    Fixes
    - fix pre-commit autoupdate for `core.useBuiltinFSMonitor=true` on windows.
     - 2047 PR by asottile.
     - 2046 issue by lcnittl.
    - fix temporary file stashing with for `submodule.recurse=1`.
     - 2071 PR by asottile.
     - 2063 issue by a666.
    - ban broken importlib-resources versions.
     - 2098 PR by asottile.
    - replace `exit(...)` with `raise SystemExit(...)` for portability.
     - 2103 PR by asottile.
     - 2104 PR by asottile.
    
    Links
    • PyPI: https://pypi.org/project/pre-commit
    • Changelog: https://pyup.io/changelogs/pre-commit/
    • Repo: https://github.com/pre-commit/pre-commit
    opened by pyup-bot 1
  • Earthpy Compatibility with Matplotlib

    Earthpy Compatibility with Matplotlib

    Need to make EarthPy compatible with newer versions of matplotlib, an error saying cannot import _api from matplotlib occurs when using a version of matplotlib newer then 3.1.3

    opened by nkorinek 0
  • `earthpy.plot.plot_bands` method ignores `ax` keyword argument if raster has multiple bands

    `earthpy.plot.plot_bands` method ignores `ax` keyword argument if raster has multiple bands

    Describe the bug earthpy.plot.plot_bands method ignores ax keyword argument if raster has multiple bands

    To Reproduce Steps to reproduce the behavior:

    If raster is an array with raster.ndim > 2 and raster.shape[0] > 1, then the ax keyword argument has no effect and the plot_bands method produces a new axes array. The user has no access to the figure object to customize the plot.

    import earthpy.plot as ep
    import matplotlib.pyplot as plt
    
    fig, axs = plt.subplots(3, 1)
    ep.plot_bands(raster, ax=axs)
    

    will produce an output that looks like

    image

    Expected behavior

    Ideally, if an axis grid consistent with the number of bands is passed in the ax keyword argument, the method would use these axes objects as expected. If this is not feasible, an error message indicating that the ax keyword is not supported when multi-band arrays are provided is needed to avoid confusion.

    **What Operating System Are you Running? **

    • Mac
    opened by ahasha 2
Releases(v0.9.4)
  • v0.9.4(Oct 1, 2021)

    Here are all the changes made since the latest release:

    • Updated Changelog with missing entries (@nkorinek, #740)
    • Updated linting test to run black and flake8 (@aefitts, #715)
    • Updated crs_check with better error handling (@nkorinek, #711)
    • Added function crs_check to get the crs from a raster's file path (@nkorinek, #707)
    • Modified plot_rgb() to handle NAN values better, allowing plotting of Xarray dataarrays (@nkorinek, #693)
    • Small fixes for default parameter values in docstrings (@FaranIdo, no issue submitted - PR #652)
    • Update crop_image docstring to be more specific, remove read() from example (@bmcandr, #483)
    • Fixed a bug in stack() that was masking arrays unnecessarily (@nkorinek, #493)
    • Added dataset for cropped NAIP data (@nkorinek, #561)
    • Added fix for downloads with quotes around them (@nkorinek, #560)
    • Removed m2r as a dependency (@nkorinek, #527)
    • Add flake 8 (@lwasser, #519)
    • Remove conda envt for RTD build (@lwasser, #518)
    • Deprecate clip function from earthpy given it’s moved to geopandas now (@nkorinek, #510)
    • Fix twitter flood data key in get_data (@lwasser, #512)
    • Added new landsat data as a download option to get_data (@nkorinek)
    • Fix clip vignette. Can't plot w empty geoms (@lwasser, #475)
    Source code(tar.gz)
    Source code(zip)
  • JOSS(Nov 13, 2019)

    This release aligns with the JOSS review request here: https://github.com/openjournals/joss-reviews/issues/1886#issuecomment-552691390

    It includes the final version of the JOSS paper and associated documentation and the final pyopensci review edits.

    included are

    1. ensuring the title of the release matches our paper and
    2. having a doi associated with the JOSS acceptance

    the code aligns with version 0.8 of earthpy which is already tagged

    Source code(tar.gz)
    Source code(zip)
  • v0.7.5(Oct 28, 2019)

    • Changed variable name for angle_altitude to altitude in hillshade() (@nkorinek, #436)
    • Added alpha arguments to hist() and plot_bands() (@nkorinek, #409, #410)
    • Add vignette to download data from URLs and EarthPy using data.get_data() function (@jlpalomino, #396)
    Source code(tar.gz)
    Source code(zip)
  • test-update(Oct 28, 2019)

  • another-test(Oct 28, 2019)

  • 0.6.2(Feb 19, 2019)

  • v0.6.0(Feb 13, 2019)

    This is an updated pre-release of the earthpy Python package, which supports working with earth systems and spatial data for teaching Python.

    Source code(tar.gz)
    Source code(zip)
  • v0.5.2(Feb 13, 2019)

    This is an updated pre-release of the earthpy Python package, which supports working with earth systems and spatial data for teaching Python.

    Source code(tar.gz)
    Source code(zip)
  • v0.5.1(Feb 13, 2019)

    This is an updated pre-release of the earthpy Python package, which supports working with earth systems and spatial data for teaching Python.

    Source code(tar.gz)
    Source code(zip)
Owner
Earth Lab
Capitalizing on the data deluge to accelerate science
Earth Lab
PySAL: Python Spatial Analysis Library Meta-Package

Python Spatial Analysis Library PySAL, the Python spatial analysis library, is an open source cross-platform library for geospatial data science with

Python Spatial Analysis Library 1.1k Dec 18, 2022
OSMnx: Python for street networks. Retrieve, model, analyze, and visualize street networks and other spatial data from OpenStreetMap.

OSMnx OSMnx is a Python package that lets you download geospatial data from OpenStreetMap and model, project, visualize, and analyze real-world street

Geoff Boeing 4k Jan 8, 2023
Processing and interpolating spatial data with a twist of machine learning

Documentation | Documentation (dev version) | Contact | Part of the Fatiando a Terra project About Verde is a Python library for processing spatial da

Fatiando a Terra 468 Dec 20, 2022
Using SQLAlchemy with spatial databases

GeoAlchemy GIS Support for SQLAlchemy. Introduction GeoAlchemy is an extension of SQLAlchemy. It provides support for Geospatial data types at the ORM

null 109 Dec 1, 2022
Raster-based Spatial Analysis for Python

?? xarray-spatial: Raster-Based Spatial Analysis in Python ?? Fast, Accurate Python library for Raster Operations ⚡ Extensible with Numba ⏩ Scalable w

makepath 649 Jan 1, 2023
GebPy is a Python-based, open source tool for the generation of geological data of minerals, rocks and complete lithological sequences.

GebPy is a Python-based, open source tool for the generation of geological data of minerals, rocks and complete lithological sequences. The data can be generated randomly or with respect to user-defined constraints, for example a specific element concentration within minerals and rocks or the order of units within a complete lithological profile.

Maximilian Beeskow 16 Nov 29, 2022
Software for Advanced Spatial Econometrics

GeoDaSpace Software for Advanced Spatial Econometrics GeoDaSpace current version 1.0 (32-bit) Development environment: Mac OSX 10.5.x (32-bit) wxPytho

GeoDa Center 38 Jan 3, 2023
GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data.

Table of Contents What is GeoNode? Try out GeoNode Install Learn GeoNode Development Contributing Roadmap Showcase Most useful links Licensing What is

GeoNode Development Team 1.2k Dec 26, 2022
An API built to format given addresses using Python and Flask.

An API built to format given addresses using Python and Flask. About The API returns properly formatted data, i.e. removing duplicate fields, distingu

null 1 Feb 27, 2022
Open Data Cube analyses continental scale Earth Observation data through time

Open Data Cube Core Overview The Open Data Cube Core provides an integrated gridded data analysis environment for decades of analysis ready earth obse

Open Data Cube 410 Dec 13, 2022
Mmdb-server - An open source fast API server to lookup IP addresses for their geographic location

mmdb-server mmdb-server is an open source fast API server to lookup IP addresses

Alexandre Dulaunoy 67 Nov 25, 2022
Python package for earth-observing satellite data processing

Satpy The Satpy package is a python library for reading and manipulating meteorological remote sensing data and writing it to various image and data f

PyTroll 882 Dec 27, 2022
A Python package for delineating nested surface depressions from digital elevation data.

Welcome to the lidar package lidar is Python package for delineating the nested hierarchy of surface depressions in digital elevation models (DEMs). I

Qiusheng Wu 166 Jan 3, 2023
A package to fetch sentinel 2 Satellite data from Google.

Sentinel 2 Data Fetcher Installation Create a Virtual Environment and activate it. python3 -m venv venv . venv/bin/activate Install the Package via pi

null 1 Nov 18, 2021
Open GeoJSON data on geojson.io

geojsonio.py Open GeoJSON data on geojson.io from Python. geojsonio.py also contains a command line utility that is a Python port of geojsonio-cli. Us

Jacob Wasserman 114 Dec 21, 2022
EOReader is a multi-satellite reader allowing you to open optical and SAR data.

Remote-sensing opensource python library reading optical and SAR sensors, loading and stacking bands, clouds, DEM and index.

ICube-SERTIT 152 Dec 30, 2022
Imports VZD (Latvian State Land Service) open data into postgis enabled database

Python script main.py downloads and imports Latvian addresses into PostgreSQL database. Data contains parishes, counties, cities, towns, and streets.

Kaspars Foigts 7 Oct 26, 2022
Implementation of Trajectory classes and functions built on top of GeoPandas

MovingPandas MovingPandas implements a Trajectory class and corresponding methods based on GeoPandas. Visit movingpandas.org for details! You can run

Anita Graser 897 Jan 1, 2023
A light-weight, versatile XYZ tile server, built with Flask and Rasterio :earth_africa:

Terracotta is a pure Python tile server that runs as a WSGI app on a dedicated webserver or as a serverless app on AWS Lambda. It is built on a modern

DHI GRAS 531 Dec 28, 2022