Skip to content
This repository has been archived by the owner on Oct 2, 2021. It is now read-only.

Replace versioneer for setuptools-scm #4

Closed
5 of 7 tasks
santisoler opened this issue Oct 21, 2020 · 2 comments
Closed
5 of 7 tasks

Replace versioneer for setuptools-scm #4

santisoler opened this issue Oct 21, 2020 · 2 comments

Comments

@santisoler
Copy link
Member

santisoler commented Oct 21, 2020

Description

The new setuptools-scm allows to obtain the Semver version of any library through VCS by just installing the setuptools-scm package through pip or conda and then adding some configuration lines on the files used to install the library.
We were already doing the same thing through versioneer, although it needed us to copy and paste some large files that don't get automatic updates.

I've already experimented with the replacement on Harmonica, so please take a look at fatiando/harmonica#196 before implementing the same changes on every library.

We know that maintenance tasks are very demanding, so we don't expect a single
person to tackle this issue by themselves. Any help is very welcomed, so please
comment below that you want to take care of the changes on any repository and
we will assign it to you.

Apply changes to

Libraries:

Further instructions

In order to solve this issue we need to start opening Pull Requests on each
repository listed above. Optionally, we can open Issues on each repository if
further discussion specific to that repository is needed.

Remember to mention this Issue on every Issue or Pull Request opened on each
repository for keeping a record by adding something like:

Related to fatiando/maintenance#4

A quick checklist:

  1. Open an Issue on each repository listed above (optional). Mention this Issue
    on them.
  2. Open a Pull Request on the same repository to tackle the Issue. Mention this
    Issue on them.
  3. Check-off the repository on the list above once the Pull Request is merged.
  4. Close this issue when all items are checked-off.
leouieda pushed a commit to fatiando/verde that referenced this issue Mar 16, 2021
Replace `versioneer` with `setuptools_scm` for getting Semver version of
Verde. `setuptools_scm` doesn't require to store additional files to work,
it can be installed and used through `setup.py`. Remove all `versioneer`
related files and mentions. Add `setuptools_scm` to `requirements.txt` and
`environment.yml`. Replace `setup.cfg` for `.flake8`. 
Related to fatiando/maintenance#4
jessepisel added a commit to jessepisel/verde that referenced this issue Apr 13, 2021
* Fix typo on "coordinates" (fatiando#306)

Fix a common typo on Verde: replace "coordiantes" for "coordinates".

* Get INSTALL_REQUIRES from requirements.txt (fatiando#312)

On setup.py, build the INSTALL_REQUIRES variable by reading the requirements.txt file.

* Include requirements.txt in MANIFEST.in (fatiando#313)

* Exclude Dask 2021.03.0 as a dependency (fatiando#311)

Dask 2021.03.0 was causing the tests to fail under Python 3.8 on any OS.
The problem seems to be originated by dask.distributed.
By excluding this version, we avoid the problem in the future.

* Replace Travis and Azure for GitHub Actions (fatiando#309)

Remove Azure and Travis configuration files.
Add Github Actions for continuous integration and deployment.
Related to fatiando/maintenance#1

* Replace versioneer for setuptools-scm (fatiando#307)

Replace `versioneer` with `setuptools_scm` for getting Semver version of
Verde. `setuptools_scm` doesn't require to store additional files to work,
it can be installed and used through `setup.py`. Remove all `versioneer`
related files and mentions. Add `setuptools_scm` to `requirements.txt` and
`environment.yml`. Replace `setup.cfg` for `.flake8`. 
Related to fatiando/maintenance#4

* Replace DeprecationWarning for FutureWarning (fatiando#305)

`DeprecationWarning`s are intended for developers, while the warnings 
we want to raise are to let users know that a feature will be deprecated 
is the `FutureWarning`. Remove the override of `warning.simplefilter`.
Following the comments in fatiando#293

Fixes fatiando#290

* Add license notice to every source file (fatiando#308)

Add a license notice to every source file and a script for automatically
check if the license is present on every file and add it if missing.

* Update files from fatiando/contributing (fatiando#314)

Changes have been made in https://github.com/fatiando/contributing to:
MAINTENANCE.md
Update the copies in this repository to match.
See fatiando/community@b78e925

* Add .eggs to .gitignore (fatiando#315)

Ignore the .eggs directory that is created after `make install`

* Allow make_xarray_grid to take horizontal coordinates as 1d arrays (fatiando#300)

Now make_xarray_grid could take 1d arrays for horizontal coordinates, such as
how xr.DataArray stores the single dimension coordinates. Add a new
non-public meshgrid_to_1d function to convert 2d meshgrids (like the ones
generated by vd.grid_coordinates) to 1d arrays containing a single coordinate
of the corresponding axis. This function checks if all elements inside the 2d
array are equal along the right axis, i.e. a vaild meshgrid.

* Add changelog entry for v1.6.0 (fatiando#316)

* Fix wrong version numbers for PyPI releases (fatiando#317)

For test releases to TestPyPI we have to edit the setuptools_scm
configuration to produce valid version numbers. But it turns out that
this breaks the number for actual releases. To fix it, only edit the
configuration on non-release builds.

* Allow make_xarray_grid to get data as None (fatiando#318)

Used to generate a `xr.Dataset` without any `data_vars` array, 
containing only the coordinates. Will be useful in some cases 
to define an `xr.Dataset` with coordinates only and add the 
`data_vars` afterwards.

* Changelog entry for v1.6.1 (fatiando#320)

Minor release to include a small fix to make_xarray_grid

* Update files from fatiando/contributing (fatiando#321)

Changes have been made in https://github.com/fatiando/contributing to:
MAINTENANCE.md
Update the copies in this repository to match.
See fatiando/community@26724ee

* Extend support for Python 3.9 (fatiando#323)

Add Python 3.9 to the CI and setup.py flags

Co-authored-by: Santiago Soler <santiago.r.soler@gmail.com>
Co-authored-by: Fatiando a Terra Bot <50936856+fatiando-bot@users.noreply.github.com>
Co-authored-by: Leonardo Uieda <leouieda@gmail.com>
@santisoler
Copy link
Member Author

Worth looking at how @leouieda has solved this in pooch: fatiando/pooch#235

@leouieda
Copy link
Member

leouieda commented Oct 1, 2021

Basically done as well since erizo hasn't had any development and I'm not sure it will continue. Same for rockhound, which needs a complete rewrite.

@leouieda leouieda closed this as completed Oct 1, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants