Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
fe5f7ca
chore: pre-commit auto fixes from prettier
zmx27 Jun 10, 2025
542b1d6
Merge pull request #200 from zmx27/migration
sbillinge Jun 10, 2025
fb15602
skpkg: migrate src folder
zmx27 Jun 10, 2025
88d6b23
skpkg: migrate tests folder
zmx27 Jun 10, 2025
52a9c0a
skpkg: list dependencies in requirements folder
zmx27 Jun 10, 2025
a36ba7a
skpkg: add CI and issue/PR templates
zmx27 Jun 10, 2025
4ab9112
skpkg: add pyproject.toml
zmx27 Jun 10, 2025
dfc7e55
fix: revert necessary files that were modified
zmx27 Jun 10, 2025
b3b1866
[pre-commit.ci] auto fixes from pre-commit hooks
pre-commit-ci[bot] Jun 10, 2025
2574356
skpkg: add config files for pre-commit
zmx27 Jun 10, 2025
e7e38aa
skpkg: add config files readthedocs, codecov, GitHub
zmx27 Jun 10, 2025
4af26da
[pre-commit.ci] auto fixes from pre-commit hooks
pre-commit-ci[bot] Jun 11, 2025
2ecce36
fix: add back deleted segments in files
zmx27 Jun 11, 2025
c6cad31
Merge branch 'config' of github.com:zmx27/diffpy.morph into config
zmx27 Jun 11, 2025
fcbe82c
Merge pull request #201 from zmx27/setup-CI
sbillinge Jun 11, 2025
8aee5b6
refactor: delete setup.cfg block and remove code in init.py
zmx27 Jun 11, 2025
4e8a295
fix merge conflict
zmx27 Jun 11, 2025
e31ce7a
refactor: delete socioeconomic, etc from .codespell
zmx27 Jun 11, 2025
fc5bac1
refactor: revert changes in .codespell to pass CI
zmx27 Jun 11, 2025
00f3e2b
skpkg: migrate documentation
zmx27 Jun 11, 2025
d68e027
skpkg: add config files for authors, changelog, code of conduct, license
zmx27 Jun 11, 2025
db42bc7
skpkg: add README.rst
zmx27 Jun 11, 2025
858d832
skpkg: add news files
zmx27 Jun 11, 2025
40c9f88
Merge pull request #202 from zmx27/config
sbillinge Jun 11, 2025
f08888f
docs: update CHANGELOG.rst
zmx27 Jun 11, 2025
8593a17
Merge branch 'migration' of github.com:diffpy/diffpy.morph into doc
zmx27 Jun 11, 2025
3d8f952
docs: revert changes on authors and code of conduct
zmx27 Jun 11, 2025
9422c9e
skpkg: migrate all news files
zmx27 Jun 11, 2025
c83de82
skpkg: change email in README and migrate diffpy.morph and index.rst
zmx27 Jun 12, 2025
5d231df
skpkg: migrate doc/manual folder
zmx27 Jun 12, 2025
d0c2a2f
skpkg: delete example files and standardize index.rst
zmx27 Jun 12, 2025
b397292
skpkg: change copyright years and delete more example templates
zmx27 Jun 12, 2025
71e6fbb
Merge pull request #204 from zmx27/doc
sbillinge Jun 13, 2025
c7b2f71
skpkg: migrate large doc/manual files
zmx27 Jun 13, 2025
fb1579f
Merge pull request #205 from zmx27/manual
sbillinge Jun 13, 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
8 changes: 4 additions & 4 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
coverage:
status:
project: # more options at https://docs.codecov.com/docs/commit-status
project: # more options at https://docs.codecov.com/docs/commit-status
default:
target: auto # use the coverage from the base commit, fail if coverage is lower
threshold: 0% # allow the coverage to drop by
threshold: 0% # allow the coverage to drop by

comment:
layout: " diff, flags, files"
behavior: default
require_changes: false
require_base: false # [true :: must have a base report to post]
require_head: false # [true :: must have a head report to post]
require_base: false # [true :: must have a base report to post]
require_head: false # [true :: must have a head report to post]
hide_project_coverage: false # [true :: only show coverage on the git diff aka patch coverage]
2 changes: 2 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# As of now, flake8 does not natively support configuration via pyproject.toml
# https://github.com/microsoft/vscode-flake8/issues/135
[flake8]
exclude =
.git,
Expand Down
31 changes: 21 additions & 10 deletions .github/ISSUE_TEMPLATE/release_checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,41 @@ labels: "release"
assignees: ""
---

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

- [ ] All PRs/issues attached to the release are merged.
- [ ] All the badges on the README are passing.
- [ ] 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 on the website (e.g., diffpy.org) are updated.
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 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:

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

<!-- After @sbillinge releases the PyPI package, please check the following when creating a PR for conda-forge release.-->
- [ ] 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://<github-username-or-orgname>/<package-name>`.
- [ ] Successfully run all tests, tutorial examples or do functional testing.

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

### conda-forge release preparation checklist:

<!-- 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.
- [ ] All relevant issues in the feedstock are addressed in the release PR.
- [ ] 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

<!-- Before closing this issue, please complete the following: -->

- [ ] Run tutorial examples and conduct functional testing using the installation guide in the README. Attach screenshots/results as comments.
- [ ] Documentation (README, tutorials, API references, and websites) is deployed without broken links or missing figures.
- [ ] Run tutorial examples and conduct functional testing using the installation guide in the README. Attach screenshots/results as comments.
- [ ] Documentation (README, tutorials, API references, and websites) is deployed without broken links or missing figures.
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).
-->
8 changes: 4 additions & 4 deletions .github/workflows/build-wheel-release-upload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ on:
workflow_dispatch:
push:
tags:
- '*' # Trigger on all tags initially, but tag and release privilege are verified in _build-wheel-release-upload.yml
- "*" # Trigger on all tags initially, but tag and release privilege are verified in _build-wheel-release-upload.yml

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.morph
github_admin_username: sbillinge

c_extension: false
maintainer_GITHUB_username: sbillinge
secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
4 changes: 2 additions & 2 deletions .github/workflows/check-news-item.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ name: Check for News
on:
pull_request_target:
branches:
- main
- main

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.morph
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.morph
c_extension: false
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/publish-docs-on-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Deploy Documentation on Release

on:
workflow_dispatch:

jobs:
docs:
uses: scikit-package/release-scripts/.github/workflows/_publish-docs-on-release.yml@v0
with:
project: diffpy.morph
c_extension: false
headless: false
5 changes: 1 addition & 4 deletions .github/workflows/tests-on-pr.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
name: Tests on PR

on:
push:
branches:
- main
pull_request:
workflow_dispatch:

jobs:
tests-on-pr:
uses: Billingegroup/release-scripts/.github/workflows/_tests-on-pr.yml@v0
uses: scikit-package/release-scripts/.github/workflows/_tests-on-pr.yml@v0
with:
project: diffpy.morph
c_extension: false
Expand Down
8 changes: 1 addition & 7 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 Expand Up @@ -90,10 +91,3 @@ target/

# Ipython Notebook
.ipynb_checkpoints

# version information
setup.cfg
/src/diffpy/*/version.cfg

# Rever
rever/
1 change: 1 addition & 0 deletions .isort.cfg
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
[settings]
# Keep import statement below line_length character limit
line_length = 79
multi_line_output = 3
include_trailing_comma = True
38 changes: 26 additions & 12 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
default_language_version:
python: python3
python: python3
ci:
autofix_commit_msg: |
[pre-commit.ci] auto fixes from pre-commit hooks
autofix_prs: true
autoupdate_branch: 'pre-commit-autoupdate'
autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate'
autoupdate_schedule: monthly
skip: [no-commit-to-branch]
submodules: false
autofix_commit_msg: |
[pre-commit.ci] auto fixes from pre-commit hooks
autofix_prs: true
autoupdate_branch: "pre-commit-autoupdate"
autoupdate_commit_msg: "[pre-commit.ci] pre-commit autoupdate"
autoupdate_schedule: monthly
skip: [no-commit-to-branch]
submodules: false
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
Expand Down Expand Up @@ -47,6 +47,20 @@ repos:
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
hooks:
- id: codespell
additional_dependencies:
- tomli
- id: codespell
additional_dependencies:
- tomli
# prettier - multi formatter for .json, .yml, and .md files
- repo: https://github.com/pre-commit/mirrors-prettier
rev: f12edd9c7be1c20cfa42420fd0e6df71e42b51ea # frozen: v4.0.0-alpha.8
hooks:
- id: prettier
additional_dependencies:
- "prettier@^3.2.4"
# docformatter - PEP 257 compliant docstring formatter
- repo: https://github.com/s-weigand/docformatter
rev: 5757c5190d95e5449f102ace83df92e7d3b06c6c
hooks:
- id: docformatter
additional_dependencies: [tomli]
args: [--in-place, --config, ./pyproject.toml]
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 AUTHORS.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Authors
========
=======

Billinge Group and community contributors.

Expand Down
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
3 changes: 1 addition & 2 deletions LICENSE.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
BSD 3-Clause License

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

Redistribution and use in source and binary forms, with or without
Expand Down
26 changes: 17 additions & 9 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
|Icon| `diffpy.morph <https://diffpy.github.io/diffpy.morph>`_
==============================================================
|Icon| |title|_
===============

.. |title| replace:: diffpy.morph
.. _title: https://diffpy.github.io/diffpy.morph

.. |Icon| image:: https://avatars.githubusercontent.com/diffpy
:target: https://diffpy.github.io/diffpy.morph
:height: 100px

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

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

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

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

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

.. |PythonVersion| image:: https://img.shields.io/pypi/pyversions/diffpy.morph
Expand All @@ -32,7 +35,7 @@
.. |Tracking| image:: https://img.shields.io/badge/issue_tracking-github-blue
:target: https://github.com/diffpy/diffpy.morph/issues

Tools for manipulating and comparing PDF profiles
Python package for manipulating and comparing PDF profiles

``diffpy.morph`` is a Python software package designed to increase the insight
researchers can obtain from measured atomic pair distribution functions
Expand Down Expand Up @@ -107,11 +110,11 @@ The following creates and activates a new environment named ``diffpy.morph_env``
conda create -n diffpy.morph_env diffpy.morph
conda activate diffpy.morph_env

To confirm that the installation was successful, type::
To confirm that the installation was successful, type ::

python -c "import diffpy.morph; print(diffpy.morph.__version__)"

The output should print the latest version displayed on the badges above.
The output should print the latest version displayed on the badges above.

If the above does not work, you can use ``pip`` to download and install the latest release from
`Python Package Index <https://pypi.python.org>`_.
Expand Down Expand Up @@ -174,7 +177,7 @@ in a development mode, with its sources being directly used by Python
rather than copied to a package directory, use the following in the root
directory ::

pip install -e .
pip install -e .

To ensure code quality and to prevent accidental commits into the default branch, please set up the use of our pre-commit
hooks.
Expand All @@ -195,4 +198,9 @@ Before contributing, please read our `Code of Conduct <https://github.com/diffpy
Contact
-------

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

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

``diffpy.morph`` is built and maintained with `scikit-package <https://scikit-package.github.io/scikit-package/>`_.
Binary file modified doc/manual/images/morph_ex1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/manual/images/nacl_example.agr
Binary file not shown.
Binary file added doc/manual/images/nacl_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed doc/manual/images/nacl_example.xcf
Binary file not shown.
Binary file modified doc/manual/pdfmorph.pdf
Binary file not shown.
Loading
Loading