Skip to content

Commit e68416f

Browse files
committed
Bump python to 3.14
1 parent b3eef9a commit e68416f

6 files changed

Lines changed: 97 additions & 9 deletions

File tree

.copier-answers.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# WARNING: Do not edit this file manually.
22
# Any changes will be overwritten by Copier.
3-
_commit: v0.10.1-25-ga5301e9
3+
_commit: v0.10.1-33-g0f85abf
44
_src_path: gh:easyscience/templates
55
app_docs_url: https://easyscience.github.io/diffraction-app
66
app_doi: 10.5281/zenodo.18163581
@@ -12,7 +12,7 @@ home_repo_name: diffraction
1212
lib_docs_url: https://easyscience.github.io/diffraction-lib
1313
lib_doi: 10.5281/zenodo.18163581
1414
lib_package_name: easydiffraction
15-
lib_python_max: '3.13'
15+
lib_python_max: '3.14'
1616
lib_python_min: '3.11'
1717
lib_repo_name: diffraction-lib
1818
project_contact_email: support@easydiffraction.org

.github/workflows/pypi-test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ jobs:
4545
- name: Init pixi project
4646
run: pixi init easydiffraction
4747

48-
- name: Add Python 3.13 from Conda
48+
- name: Add Python 3.14 from Conda
4949
working-directory: easydiffraction
50-
run: pixi add "python=3.13"
50+
run: pixi add "python=3.14"
5151

5252
- name: Add other Conda dependencies
5353
working-directory: easydiffraction

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ concurrency:
4444
# Set the environment variables to be used in all jobs defined in this workflow
4545
env:
4646
CI_BRANCH: ${{ github.head_ref || github.ref_name }}
47-
PY_VERSIONS: '3.11 3.13'
48-
PIXI_ENVS: 'py-311-env py-313-env'
47+
PY_VERSIONS: '3.11 3.14'
48+
PIXI_ENVS: 'py-311-env py-314-env'
4949

5050
jobs:
5151
# Job 1: Set up environment variables

docs/docs/installation-and-setup/index.md

Lines changed: 88 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ icon: material/cog-box
44

55
# :material-cog-box: Installation & Setup
66

7-
## Requirements
7+
**EasyDiffraction** is a cross-platform Python library compatible with
8+
**Python 3.11** through **3.14**.
89

910
EasyDiffraction is a cross-platform Python library compatible with
1011
**Python 3.11 through 3.13**.
@@ -13,6 +14,92 @@ installation.
1314

1415
## Environment Setup <small>optional</small> { #environment-setup data-toc-label="Environment Setup" }
1516

17+
- **Ease of use**: Pixi simplifies the installation process, making it
18+
accessible even for users with limited experience in package management.
19+
- **Python version control**: Pixi allows specifying and managing different
20+
Python versions for each project, ensuring compatibility.
21+
- **Isolated environments**: Pixi creates isolated environments for each
22+
project, preventing conflicts between different package versions.
23+
- **PyPI and Conda support**: Pixi can install packages from both PyPI and
24+
Conda repositories, providing access to a wide range of libraries.
25+
26+
An alternative installation method using the traditional **pip** package
27+
manager is also provided.
28+
29+
## Installing with Pixi <small>recommended</small> { #installing-with-pixi data-toc-label="Installing with Pixi" }
30+
31+
This section describes the simplest way to set up EasyDiffraction using
32+
**Pixi**.
33+
34+
#### Installing Pixi
35+
36+
- Install Pixi by following the instructions on the
37+
[official Pixi Installation Guide](https://pixi.prefix.dev/latest/installation).
38+
39+
#### Setting up EasyDiffraction with Pixi
40+
41+
<!-- prettier-ignore-start -->
42+
43+
- Choose a project location (local drive recommended).
44+
45+
??? warning ":fontawesome-brands-windows: Windows + OneDrive"
46+
47+
We **do not recommend creating a Pixi project inside OneDrive or other
48+
synced folders**.
49+
50+
By default, Pixi creates the virtual environment inside the project
51+
directory (in `.pixi/`). On Windows, synced folders such as OneDrive
52+
may cause file‑system issues (e.g., path-length limitations or
53+
restricted link operations), which can lead to unexpected install
54+
errors or environments being recreated.
55+
56+
Instead, create your project in a **local directory on your drive**
57+
where you have full write permissions.
58+
59+
<!-- prettier-ignore-end -->
60+
61+
- Initialize a new Pixi project and navigate into it:
62+
```txt
63+
pixi init easydiffraction
64+
cd easydiffraction
65+
```
66+
- Set the Python version for the Pixi environment (e.g., 3.14):
67+
```txt
68+
pixi add python=3.14
69+
```
70+
- Add EasyDiffraction to the Pixi environment from PyPI:
71+
```txt
72+
pixi add --pypi easydiffraction
73+
```
74+
- Add a Pixi task to run EasyDiffraction commands easily:
75+
```txt
76+
pixi task add easydiffraction "python -m easydiffraction"
77+
```
78+
79+
#### Updating Pixi and EasyDiffraction
80+
81+
- To update all packages in the Pixi environment, including EasyDiffraction:
82+
```txt
83+
pixi update
84+
```
85+
- To update Pixi itself to the latest version:
86+
```txt
87+
pixi self-update
88+
```
89+
90+
#### Uninstalling Pixi
91+
92+
- Follow the
93+
[official Pixi Guide](https://pixi.prefix.dev/latest/installation/#uninstall).
94+
95+
## Classical Installation
96+
97+
This section describes how to install EasyDiffraction using the traditional
98+
method with **pip**. It is assumed that you are familiar with Python package
99+
management and virtual environments.
100+
101+
### Environment Setup <small>optional</small> { #environment-setup data-toc-label="Environment Setup" }
102+
16103
We recommend using a **virtual environment** to isolate dependencies and
17104
avoid conflicts with system-wide packages. If any issues arise, you can
18105
simply delete and recreate the environment.

pixi.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ easydiffraction = { path = '.', editable = true, extras = ['dev'] }
6565
[feature.py-min.dependencies]
6666
python = '3.11.*'
6767
[feature.py-max.dependencies]
68-
python = '3.13.*'
68+
python = '3.14.*'
6969

7070
##############
7171
# ENVIRONMENTS
@@ -76,7 +76,7 @@ python = '3.13.*'
7676
# The `default` feature is always included in all environments.
7777
# Additional features can be specified per environment.
7878
py-311-env = { features = ['default', 'py-min'] }
79-
py-313-env = { features = ['default', 'py-max'] }
79+
py-314-env = { features = ['default', 'py-max'] }
8080

8181
# The `default` environment is always created and includes the `default` feature.
8282
# It does not need to be specified explicitly unless non-default features are included.

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ classifiers = [
2020
'Programming Language :: Python :: 3.11',
2121
'Programming Language :: Python :: 3.12',
2222
'Programming Language :: Python :: 3.13',
23+
'Programming Language :: Python :: 3.14',
2324
]
2425
requires-python = '>=3.11'
2526
dependencies = [

0 commit comments

Comments
 (0)