Skip to content
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
f353243
replace SCon with modern build tools, rewrite ...
Tieqiong Dec 28, 2024
6198d35
black autofix
Tieqiong Dec 28, 2024
8fac115
Merge pull request #36 from Tieqiong/setup
sbillinge Dec 28, 2024
d52d0a4
Merge pull request #37 from Tieqiong/black
sbillinge Dec 30, 2024
5df5dfb
add precommit and fix related checks
Tieqiong Jan 1, 2025
9219061
Merge pull request #38 from Tieqiong/precommit
sbillinge Jan 1, 2025
d14bb52
add PR test workflow and issue templates
Tieqiong Jan 1, 2025
c0fd7d6
pcmt
Tieqiong Jan 1, 2025
1bd4447
add cookie
Tieqiong Jan 2, 2025
4bf46d2
Merge pull request #39 from Tieqiong/workflow
sbillinge Jan 2, 2025
ea77121
move tests
Tieqiong Jan 11, 2025
abc8a9c
remove unnecessary files, add conftest
Tieqiong Jan 11, 2025
f01987a
easy tests
Tieqiong Jan 11, 2025
70e88e4
fix pytest
Tieqiong Jan 11, 2025
d0a96e8
help py3.11 find boost
Tieqiong Jan 11, 2025
8815174
add dependencies
Tieqiong Jan 11, 2025
95f2ef1
update CI
Tieqiong Jan 11, 2025
59f9471
[pre-commit.ci] auto fixes from pre-commit hooks
pre-commit-ci[bot] Jan 11, 2025
0ce4864
pcmt
Tieqiong Jan 11, 2025
81b3c03
git, codecov, cfgs, news dir, MANIFEST
Tieqiong Jan 11, 2025
4a8000a
AUTHORS, CHANGELOG, COC, LICENSEs, README
Tieqiong Jan 11, 2025
74ccfe1
gh workflows, conda-recipe, devutils
Tieqiong Jan 11, 2025
39eeb08
doc
Tieqiong Jan 11, 2025
b05530c
src
Tieqiong Jan 11, 2025
d2354a4
pyproject.toml
Tieqiong Jan 11, 2025
178507a
pcmt
Tieqiong Jan 11, 2025
5f34e62
Merge pull request #46 from Tieqiong/test
sbillinge Jan 11, 2025
cb402f9
Merge pull request #44 from Tieqiong/setup
sbillinge Jan 11, 2025
3ce7204
Merge pull request #45 from Tieqiong/deps
sbillinge Jan 11, 2025
fdceb92
Merge pull request #47 from Tieqiong/cookie
sbillinge Jan 11, 2025
50e6e81
srreal windows support
Tieqiong Feb 2, 2025
b83ee8f
[pre-commit.ci] auto fixes from pre-commit hooks
pre-commit-ci[bot] Feb 2, 2025
b075de8
Merge pull request #53 from Tieqiong/win
sbillinge Feb 2, 2025
d863058
skpkg: pc autofixes with updated config files
cadenmyers13 Jun 18, 2025
7a64d9d
chore: news
cadenmyers13 Jun 18, 2025
2ef09a4
chore: change to run on macos instead of ubuntu
cadenmyers13 Jun 18, 2025
a1420e4
Merge pull request #55 from cadenmyers13/pre-commit-auto
sbillinge Jun 20, 2025
2c7bf1f
find objcryst
Tieqiong Jun 20, 2025
99cd3d3
[pre-commit.ci] auto fixes from pre-commit hooks
pre-commit-ci[bot] Jun 20, 2025
12481e9
update conda requirements, correct objcryst flag
Tieqiong Jun 22, 2025
cabdcc7
force libdiffpy rc version
Tieqiong Jun 22, 2025
fa597f8
update tests
Tieqiong Jun 22, 2025
170f9c9
try removing extra insurance
Tieqiong Jun 22, 2025
a86ab58
make MSVC linker happy
Tieqiong Jun 22, 2025
2202fb8
Merge pull request #56 from Tieqiong/setup
sbillinge Jun 22, 2025
d3ecb25
skpkg: change black line length requirements to 79
cadenmyers13 Jun 23, 2025
703588b
skpkg: autofixes with linelength 79
cadenmyers13 Jun 23, 2025
d0f61e8
chore: news
cadenmyers13 Jun 23, 2025
412bbf5
skpkg: flake8 fixes in setup.py
cadenmyers13 Jun 23, 2025
e392485
skpkg: doc formatting autofixes
cadenmyers13 Jun 23, 2025
9b9f2a3
skpkg: add docformatting config to pyproject.toml
cadenmyers13 Jun 23, 2025
4f3d0df
Merge pull request #57 from cadenmyers13/pc-blackv2
sbillinge Jun 24, 2025
c1003ac
skpkg: gitignore, code of conduct updates, rm env.yml and prettierignore
cadenmyers13 Jun 24, 2025
6300597
skpkg: ignore_words.txt and pyproject.toml
cadenmyers13 Jun 24, 2025
462a18c
skpkg: github workflows dir
cadenmyers13 Jun 24, 2025
b24e60a
skpkg: change log header
cadenmyers13 Jun 24, 2025
b84b8d8
skpkg: readme
cadenmyers13 Jun 24, 2025
7410460
skpkg: user facing files and requirements
cadenmyers13 Jun 24, 2025
e2e5e0d
chore: news
cadenmyers13 Jun 24, 2025
830af7d
chore: add diffpy user group to readme
cadenmyers13 Jun 24, 2025
f2e0ddc
chore: more diffpy user group in readme
cadenmyers13 Jun 24, 2025
ad73cb4
chore: fix typo
cadenmyers13 Jun 24, 2025
ea1c888
chore: revert tests-on-pr.yml back to original
cadenmyers13 Jun 24, 2025
ac8a64d
chore: add blank lines
cadenmyers13 Jun 24, 2025
62b83e5
[pre-commit.ci] auto fixes from pre-commit hooks
pre-commit-ci[bot] Jun 24, 2025
1488319
ci: configure tests-on-pr.yml to run without environment.yml
cadenmyers13 Jun 25, 2025
e4a2700
skpkg: remove getting-started.rst
cadenmyers13 Jun 25, 2025
724018c
Merge pull request #58 from cadenmyers13/skpkg-migration
sbillinge Jun 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .codespell/ignore_words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@
;; abbreviation for "materials" often used in a journal title
mater

;; alternative use of socioeconomic
socio-economic

;; Frobenius norm used in np.linalg.norm
fro

Expand Down
14 changes: 7 additions & 7 deletions .github/ISSUE_TEMPLATE/release_checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,30 @@ assignees: ""
- [ ] License information is verified as correct. If you are unsure, please comment below.
- [ ] Locally rendered documentation contains all appropriate pages, including API references (check no modules are
missing), tutorials, and other human-written text is up-to-date with any changes in the code.
- [ ] Installation instructions in the README, documentation, and the website (e.g., diffpy.org) are updated.
- [ ] Installation instructions in the README, documentation, and the website are updated.
- [ ] Successfully run any tutorial examples or do functional testing with the latest Python version.
- [ ] Grammar and writing quality are checked (no typos).
- [ ] Install `pip install build twine`, run `python -m build` and `twine check dist/*` to ensure that the package can be built and is correctly formatted for PyPI release.

Please mention @sbillinge here when you are ready for PyPI/GitHub release. Include any additional comments necessary, such as version information and details about the pre-release here:
Please tag the maintainer (e.g., @username) in the comment here when you are ready for the PyPI/GitHub release. Include any additional comments necessary, such as version information and details about the pre-release here:

### PyPI/GitHub full-release preparation checklist:

- [ ] Create a new conda environment and install the rc from PyPI (`pip install <package-name>==??`)
- [ ] License information on PyPI is correct.
- [ ] Docs are deployed successfully to `https://www.diffpy.org/<package-name>`.
- [ ] Docs are deployed successfully to `https://<github-username-or-orgname>/<package-name>`.
- [ ] Successfully run all tests, tutorial examples or do functional testing.

Please let @sbillinge know that all checks are done and the package is ready for full release.
Please let the maintainer know that all checks are done and the package is ready for full release.

### conda-forge release preparation checklist:

<!-- After @sbillinge releases the PyPI package, please check the following when creating a PR for conda-forge release.-->
<!-- After the maintainer releases the PyPI package, please check the following when creating a PR for conda-forge release.-->

- [ ] Ensure that the full release has appeared on PyPI successfully.
- [ ] New package dependencies listed in `conda.txt` and `test.txt` are added to `meta.yaml` in the feedstock.
- [ ] Close any open issues on the feedstock. Reach out to @bobleesj if you have questions.
- [ ] Tag @sbillinge and @bobleesj for conda-forge release.
- [ ] Close any open issues on the feedstock. Reach out to the maintainer if you have questions.
- [ ] Tag the maintainer for conda-forge release.

### Post-release checklist

Expand Down
15 changes: 15 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
### What problem does this PR address?

<!-- Provide a brief overview and link to the issue. Attach outputs, including screenshots (before/after), if helpful for the reviewer. -->

### What should the reviewer(s) do?

<!-- Merge the code, provide feedback, initiate a discussion, etc. -->

<!--
Use the following checklist items when applicable (select only what applies):
- [ ] This PR introduces a public-facing change (e.g., figures, CLI input/output, API).
- [ ] Documentation (e.g., tutorials, examples, README) has been updated.
- [ ] A tracking issue or plan to update documentation exists.
- [ ] This PR affects internal functionality only (no user-facing change).
-->
4 changes: 2 additions & 2 deletions .github/workflows/build-wheel-release-upload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ on:

jobs:
release:
uses: Billingegroup/release-scripts/.github/workflows/_build-wheel-release-upload.yml@v0
uses: scikit-package/release-scripts/.github/workflows/_build-wheel-release-upload.yml@v0
with:
project: diffpy.srreal
c_extension: true
github_admin_username: sbillinge
maintainer_GITHUB_username: sbillinge
secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/check-news-item.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ on:

jobs:
check-news-item:
uses: Billingegroup/release-scripts/.github/workflows/_check-news-item.yml@v0
uses: scikit-package/release-scripts/.github/workflows/_check-news-item.yml@v0
with:
project: diffpy.srreal
2 changes: 1 addition & 1 deletion .github/workflows/matrix-and-codecov-on-merge-to-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:

jobs:
matrix-coverage:
uses: Billingegroup/release-scripts/.github/workflows/_matrix-and-codecov-on-merge-to-main.yml@v0
uses: scikit-package/release-scripts/.github/workflows/_matrix-and-codecov-on-merge-to-main.yml@v0
with:
project: diffpy.srreal
c_extension: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-docs-on-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:

jobs:
docs:
uses: Billingegroup/release-scripts/.github/workflows/_publish-docs-on-release.yml@v0
uses: scikit-package/release-scripts/.github/workflows/_publish-docs-on-release.yml@v0
with:
project: diffpy.srreal
c_extension: true
Expand Down
23 changes: 13 additions & 10 deletions .github/workflows/tests-on-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,25 @@ jobs:
- name: Initialize miniconda
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: test
auto-update-conda: true
environment-file: environment.yml
auto-activate-base: false
python-version: ${{ matrix.python-version }}

- name: Conda config
run: >-
conda config --set always_yes yes
--set changeps1 no

run: |
conda config --add channels conda-forge
- name: Install diffpy.srreal and requirements
run: |
conda install --file requirements/conda.txt
conda install --file requirements/test.txt
conda create -n test python=${{ matrix.python-version }} -y
source $(conda info --base)/etc/profile.d/conda.sh
conda activate test
conda install pip -y
conda config --set always_yes yes --set changeps1 no
conda install --file requirements/conda.txt -y
conda install --file requirements/test.txt -y
python -m pip install . --no-deps

- name: Validate diffpy.pdfgui
run: pytest tests
run: |
source $(conda info --base)/etc/profile.d/conda.sh
conda activate test
pytest tests
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ __pycache__/
.Python
env/
build/
_build/
develop-eggs/
dist/
downloads/
Expand Down
1 change: 0 additions & 1 deletion .prettierignore

This file was deleted.

13 changes: 13 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
version: 2

build:
os: "ubuntu-22.04"
tools:
python: "latest"

python:
install:
- requirements: requirements/docs.txt

sphinx:
configuration: doc/source/conf.py
2 changes: 1 addition & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
=============
Release Notes
Release notes
=============

.. current developments
Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
identity and expression, level of experience, education, socioeconomic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

Expand Down
11 changes: 8 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
:target: https://diffpy.github.io/diffpy.srreal
:height: 100px

|PyPi| |Forge| |PythonVersion| |PR|
|PyPI| |Forge| |PythonVersion| |PR|

|CI| |Codecov| |Black| |Tracking|

Expand All @@ -26,7 +26,7 @@

.. |PR| image:: https://img.shields.io/badge/PR-Welcome-29ab47ff

.. |PyPi| image:: https://img.shields.io/pypi/v/diffpy.srreal
.. |PyPI| image:: https://img.shields.io/pypi/v/diffpy.srreal
:target: https://pypi.org/project/diffpy.srreal/

.. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/diffpy.srreal
Expand Down Expand Up @@ -149,4 +149,9 @@ Before contributing, please read our `Code of Conduct <https://github.com/diffpy
Contact
-------

For more information on diffpy.srreal please visit the project `web-page <https://diffpy.github.io/>`_ or email Prof. Simon Billinge at sb2896@columbia.edu.
For more information on diffpy.srreal please visit the project `web-page <https://diffpy.github.io/>`_ or email Simon Billinge at sb2896@columbia.edu.

Acknowledgements
----------------

``diffpy.srreal`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.
21 changes: 20 additions & 1 deletion doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@
from importlib.metadata import version
from pathlib import Path

# Attempt to import the version dynamically from GitHub tag.
try:
fullversion = version("diffpy.srreal")
except Exception:
fullversion = "No version found. The correct version will appear in the released version." # noqa: E501

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use Path().resolve() to make it absolute, like shown here.
Expand All @@ -43,6 +49,7 @@
"sphinx.ext.viewcode",
"sphinx.ext.intersphinx",
"sphinx_rtd_theme",
"sphinx_copybutton",
"m2r",
]

Expand All @@ -68,7 +75,6 @@
# |version| and |release|, also used in various other places throughout the
# built documents.

fullversion = version(project)
# The short X.Y version.
version = "".join(fullversion.split(".post")[:1])
# The full version, including alpha/beta/rc tags.
Expand All @@ -88,6 +94,11 @@
# substitute YEAR in the copyright string
copyright = copyright.replace("%Y", year)

# For sphinx_copybutton extension.
# Do not copy "$" for shell commands in code-blocks.
copybutton_prompt_text = r"^\$ "
copybutton_prompt_is_regexp = True

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ["build"]
Expand Down Expand Up @@ -123,6 +134,14 @@
#
html_theme = "sphinx_rtd_theme"

html_context = {
"display_github": True,
"github_user": "diffpy",
"github_repo": "diffpy.srreal",
"github_version": "main",
"conf_py_path": "/doc/source/",
}

# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
Expand Down
10 changes: 8 additions & 2 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

.. |title| replace:: diffpy.srreal documentation

diffpy.srreal - Calculators for PDF, bond valence sum, and other quantities based on atom pair interaction.
``diffpy.srreal`` - Calculators for PDF, bond valence sum, and other quantities based on atom pair interaction.

| Software version |release|.
| Software version |release|
| Last updated |today|.

The diffpy.srreal package provides calculators for atomic pair distribution
Expand Down Expand Up @@ -66,6 +66,12 @@ Installation
See the `README <https://github.com/diffpy/diffpy.srreal#installation>`_
file included with the distribution.

================
Acknowledgements
================

``diffpy.srreal`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.

=================
Table of contents
=================
Expand Down
2 changes: 1 addition & 1 deletion doc/source/license.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Copyright (c) 2008-2012, The Trustees of Columbia University in the City of New

Copyright (c) 2014-2019, Brookhaven Science Associates, Brookhaven National Laboratory

Copyright (c) 2024, The Trustees of Columbia University in the City of New York.
Copyright (c) 2025, The Trustees of Columbia University in the City of New York.
All rights reserved.

The "DiffPy-CMI" is distributed subject to the following license conditions:
Expand Down
6 changes: 0 additions & 6 deletions environment.yml

This file was deleted.

23 changes: 23 additions & 0 deletions news/skpkg-migration.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
**Added:**

* <news item>

**Changed:**

* <news item>

**Deprecated:**

* <news item>

**Removed:**

* <news item>

**Fixed:**

* Support ``scikit-package`` Level 5 standard (https://scikit-package.github.io/scikit-package/).

**Security:**

* <news item>
14 changes: 7 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ build-backend = "setuptools.build_meta"
name = "diffpy.srreal"
dynamic=['version', 'dependencies']
authors = [
{ name="Simon J.L. Billinge group", email="simon.billinge@gmail.com" },
{ name="Simon Billinge", email="sb2896@columbia.edu" },
]
maintainers = [
{ name="Simon J.L. Billinge group", email="simon.billinge@gmail.com" },
{ name="Simon Billinge", email="sb2896@columbia.edu" },
]
description = "Calculators for PDF, bond valence sum, and other quantities based on atom pair interaction."
keywords = ['PDF', 'BVS', 'atom', 'overlap', 'calculator', 'real-space']
Expand Down Expand Up @@ -56,6 +56,11 @@ exclude-file = ".codespell/ignore_lines.txt"
ignore-words = ".codespell/ignore_words.txt"
skip = "*.cif,*.dat"

[tool.docformatter]
recursive = true
wrap-summaries = 72
wrap-descriptions = 72

[tool.black]
line-length = 79
include = '\.pyi?$'
Expand All @@ -78,8 +83,3 @@ exclude = '''
| tests/data
)/
'''

[tool.docformatter]
recursive = true
wrap-summaries = 72
wrap-descriptions = 72
1 change: 1 addition & 0 deletions requirements/docs.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
sphinx
sphinx_rtd_theme
sphinx-copybutton
doctr
m2r