@@ -6,36 +6,68 @@ Installation
66.. note ::
77
88 ``pyIECWind `` is not yet published on PyPI, so ``pip install pyiecwind `` is not
9- available. Install from source or conda as shown below. A PyPI release and a
10- ``conda-forge `` package are planned (see :doc: `deployment `).
9+ available. Install from source, ideally inside a conda environment as shown
10+ below. A PyPI release and a ``conda-forge `` package are planned (see
11+ :doc: `deployment `).
1112
12- From source
13- -----------
13+ Recommended: Miniconda (step by step)
14+ -------------------------------------
15+
16+ If you are coming from an engineering background and do not already have a Python
17+ workflow, this is the most reliable way to get started. It installs an isolated
18+ environment so ``pyIECWind `` cannot interfere with any other Python on your
19+ machine.
20+
21+ **1. Install Miniconda. ** Download and run the installer for your operating system
22+ from https://www.anaconda.com/docs/getting-started/miniconda/install. Miniconda is
23+ a small distribution that provides ``conda `` (an environment and package manager)
24+ and Python. On Windows, accept the defaults and then open the **Anaconda Prompt **;
25+ on macOS/Linux, open a terminal.
26+
27+ **2. Get the code. ** Clone the repository (or download the ZIP from GitHub and
28+ extract it), then change into the folder:
29+
30+ .. code-block :: console
31+
32+ git clone https://github.com/SMI-Lab-Inha/pyIECWind.git
33+ cd pyIECWind
34+
35+ **3. Create the environment. ** This reads ``environment.yml `` and builds an
36+ isolated environment named ``pyiecwind `` with the correct Python, NumPy, and
37+ ``pyIECWind `` itself:
1438
1539.. code-block :: console
1640
17- $ git clone https://github.com/SMI-Lab-Inha/pyIECWind.git
18- $ cd pyIECWind
19- $ python -m pip install -e .
41+ conda env create -f environment.yml
42+
43+ **4. Activate it. ** Do this in every new terminal session before using the tool:
44+
45+ .. code-block :: console
2046
21- Conda
22- -----
47+ conda activate pyiecwind
2348
24- Create the provided environment:
49+ ** 5. Check it works: **
2550
2651.. code-block :: console
2752
28- $ conda env create -f environment.yml
29- $ conda run -n pyiecwind pyiecwind --help
53+ pyiecwind --help
54+
55+ You are ready -- continue with the :doc: `quickstart `.
56+
57+ Alternative installs
58+ --------------------
3059
31- or install into an existing environment :
60+ If you already manage your own Python environments :
3261
3362.. code-block :: console
3463
35- $ conda create -n pyiecwind python=3.11 numpy pip -y
36- $ conda run -n pyiecwind python -m pip install -e .
64+ # into an existing conda environment
65+ conda create -n pyiecwind python=3.11 numpy pip -y
66+ conda activate pyiecwind
67+ python -m pip install -e .
3768
38- A ``conda-forge `` package is planned; see :doc: `deployment `.
69+ # or a plain pip install from a source checkout
70+ python -m pip install -e .
3971
4072 Optional dependency groups
4173--------------------------
@@ -44,23 +76,24 @@ Two extras are available for contributors:
4476
4577``dev ``
4678 Test and quality tooling: ``pytest ``, ``pytest-cov ``, ``hypothesis ``,
47- ``ruff ``, ``mypy ``, ``build ``, and ``twine ``.
79+ ``ruff ``, ``mypy ``, ``build ``, `` twine ``, and ``pip-audit ``.
4880
4981``docs ``
50- Documentation tooling: ``sphinx `` and the ``furo `` theme.
82+ Documentation tooling: ``sphinx ``, the ``sphinx-rtd-theme `` theme, and
83+ ``myst-parser ``.
5184
5285.. code-block :: console
5386
54- $ python -m pip install -e ".[dev]"
55- $ python -m pip install -e ".[docs]"
87+ python -m pip install -e ".[dev]"
88+ python -m pip install -e ".[docs]"
5689
5790 Verifying the installation
5891--------------------------
5992
6093.. code-block :: console
6194
62- $ pyiecwind --help
63- $ python -c "import pyiecwind; print(pyiecwind.__version__)"
95+ pyiecwind --help
96+ python -c "import pyiecwind; print(pyiecwind.__version__)"
6497
65- The version is single-sourced from the installed package metadata, so the
66- import above and ``pip show pyiecwind `` always agree.
98+ The version is single-sourced from the installed package metadata, so the import
99+ above and ``pip show pyiecwind `` always agree.
0 commit comments