Skip to content

Use pyproject.toml for project metadata, add citation info #11

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 29, 2023

Conversation

mwtoews
Copy link
Contributor

@mwtoews mwtoews commented Mar 14, 2023

This PR moves project metadata setup.py to pyproject.toml as described by PEP 621 and implemented by setuptools >= 61.

While most of the conversion is 1:1, here are some differences:

  • Add "3.11" Python version classifier
  • Remove "Operating System" classifiers, since they are all common
  • Expand keywords with "bmi" and "xmi"
  • Remove "platform" which is not actively used by setuptools/pip/pypi
  • Add Publication URL for PyPI
  • Add "dev" extras, which is an alias for "lint,test", i.e. pip install -e .[dev] should be good for devs
  • Remove hard-link to develop branches for xmipy and modflow-devtools, as these interfere with environments with these requirements met (i.e. it will force them to be overwritten); may need to find a better way around this.

Other changes:

  • Add citation info in README.md and add a CITATION.cff file for both software and preferred citations
  • Add black configuration to pyproject.toml
  • Update guide-to-publish.md to modern conventions
  • Remove flake8 configuration from setup.cfg, since .flake8 already exists (even if a bit outdated)
  • Remove etc/requirements.pip.txt since this is repeated from pyproject.toml, and appears to be out-of-date
  • Use Python version 3.x (currently 3.11) for std_setup CI job
  • Add Python 3.11 to relevant CI tests
  • Remove (probably?) unnecessary Windows-specific install steps
  • Add package name in setup.py for GitHub project dependencies (which is currently empty)

@mwtoews mwtoews force-pushed the pyproject-metadata branch from 65b97df to 4d49c93 Compare March 14, 2023 02:34
@jdhughes-dev
Copy link
Contributor

@mwtoews could you update the PR so that it passes the lint step?

@mwtoews mwtoews force-pushed the pyproject-metadata branch from 4d49c93 to 5317a04 Compare March 27, 2023 23:49
@jdhughes-dev jdhughes-dev merged commit 61ccbb6 into MODFLOW-ORG:develop Mar 29, 2023
@mwtoews mwtoews deleted the pyproject-metadata branch March 29, 2023 16:57
jdhughes-dev added a commit that referenced this pull request Apr 19, 2023
* Fix typo in README (#4)
* modflowapi interface (#8)
* update package: manual variable address assembly updated to use xmipy get_variable_addr()
* update additional manual variable address assembly statements
* Refactor code and added functionality:
* add stress_period_start, stress_period_end Callbacks
* fix ApiModel __repr__
* added Exchanges, TDIS, ATS, and SLN support
* added ScalarInput and ScalarPackage support
* update autotests
* added parallel testing support through pytest-xdist
* updated markers and split the extensions tests from the mf6 examples tests
* added a test for ATS
* update setup.cfg
* update ci.yml
* update(ListInput): add auxvar to stress_period_data when auxiliary variables are used
* Allow None to be passed to stress_period_data.values to disable stresses for a package
* updates: ApiModel, ApiSimulation, run_simulation
* added a `totim` property on `ApiSimulation` and `ApiModel`
* added docstrings to ApiModel property methods
* updated termination message in run_simulation
* added a finalize callback to Callbacks and run_simulation
* add support for AUXNAME_CST
* add(Head Monitor Example): Add a head monitor example application
* ApiModel: adjust X based on nodetouser
* ApiPackage: enforce lower cased variable names in get_advanced_var
* ArrayPointer: trap for arrays that are not adjusted by reduced node numbers (ex. idomain)
* update setup.cfg
* try reformatting the xmipy installation instructions
* fix(get value): fixed error handling when modflowapi fails to get a pointer to a value from the API (#9)
Co-authored-by: scottrp <45947939+scottrp@users.noreply.github.com>
* update(rhs, hcof, AdvancedInput): bug fixes for setting variable values for advanced inputs
* update rhs and hcof to copy values to pointer instead of overwriting the pointer
* add a check for AdvancedInput variables that do not have pointer support in xmipy
* update setting routine for AdvancedInput
* refactor(EOL): change CRLF to LF line endings for source files (#12)
* Use pyproject.toml for project metadata, add citation info (#11)
* add(test_rhs_hcof_advanced): add additional test  (#13)
* added test for getting and setting rhs, hcof, and advanced variable values
* update project to use unix line separators
* use np.testing.assert_allclose() instead of AssertionError
* Add missing RIV support to modflowapi (#16)
* add(test_rhs_hcof_advanced): add additional test
* added test for getting and setting rhs, hcof, and advanced variable values
* update project to use unix line separators
* use np.testing.assert_allclose() instead of AssertionError
* Add missing riv package to modflowapi
* release: v0.1.0
---------

Co-authored-by: Hofer-Julian <30049909+Hofer-Julian@users.noreply.github.com>
Co-authored-by: Joshua Larsen <jlarsen@usgs.gov>
Co-authored-by: spaulins-usgs <spaulinski@usgs.gov>
Co-authored-by: scottrp <45947939+scottrp@users.noreply.github.com>
Co-authored-by: Mike Taves <mwtoews@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants