TASKING itchi
Project description
iTCHi Developer Readme
iTCHi is a helper tool closely tied to TASKING's winIDEA.
Setup IDE
To work on iTCHi using Visual Studio Code, you can use the provided workspace
itchi.code-workspace.
If you are planning to use PyCharm, nothing special has to be done, just specify the correct venv and you are good to go. Note that there are no pre-made PyCharm run configurations, but tests can be executed directly.
Setup Virtual Environment
You can use an existing venv or, even better, create a brand-new venv for this project. Using a separate venv will ensure that there is no clashing of packages, and all necessary requirements are specified in this project, making it self-contained.
Make sure that you are using the most recent version of Python that is used in TASKING development.
Creating a venv can be done using:
<path to python interpreter> -m venv <desired venv location>
To use this venv, we need to activate it. The location of the activate script is OS dependent.
On Linux it is source <venv root dir>/bin/activate and
on Windows <venv root dir>/Scripts/activate.<ps1, bat, ...>.
Once the venv is activated for the first time, it is recommended to upgrade pip by running
python -m pip install --upgrade pip.
Install the iTCHi Package
Once the venv is created, you need to install the iTCHi package. If you plan to modify iTCHi sources,
make sure that you install iTCHi in editable mode using the -e flag for pip.
Installing iTCHi is simple:
-
Activate venv
-
Make sure that the
ISYSTEM_APPSenvironment variable is configured -
Navigate into the iTCHi root directory (where
pyproject.tomlis located) -
install it using
python -m pip install -e .to install it in editable mode. -
if a wheel should be created, call
python -m pip wheel --no-deps .Note that in case that you want actual version stored in __version__, you have to define
WINIDEA_BUILD_VERSIONenvironmental variable, prior to building wheels.
Launching iTCHi
Once the iTCHi package is installed in the venv, you can launch it using python -m itchi.itchi_cli
or call itchi-cli<.exe> directly, since pip created an executable and added it to the PATH
on venv activation. Because you installed iTCHi in venv, you can call this command from anywhere
when the iTCHi venv is active.
There is also a GUI version itchi-gui, which imports the CLI version under the hood.
Tests
All tests are located in the tests directory. If new tests are created, make sure that you are not
importing the iTCHi components relative to the tests, but rather import them as installed packages
(no leading dots should be present in the imports!). This will ensure that the tests are testing
what will be deployed and not what is in editable mode.
If some custom files are needed, specify them relative to the test file, for example:
import os
file_of_interest = os.path.normpath(
os.path.join(os.path.dirname(__file__), 'file_of_interest.png')
)
This will ensure that tests can be executed from arbitrary locations, and you do not need to change the current working directory.
Run pytest . in the itchi/tests directory to execute all tests. See the pytest manual for more info
on how to execute them.
Adding a New Command
To add a new command, make sure to add it at the following locations:
- The command parser in
src/itchi/itchi_cli.py - The launch configuration in
itchi.code-workspace(for easier development) - The regression tests in
examples/test_examples - The documentation in
docs/readme.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file itchi-9.21.378.1-py3-none-any.whl.
File metadata
- Download URL: itchi-9.21.378.1-py3-none-any.whl
- Upload date:
- Size: 136.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19ffdb5f02a14a02500c2fae038498fa40da52c1449b3431ea82e0299a2b563b
|
|
| MD5 |
c1cc1f7562419c44e9b040dad7f9db4f
|
|
| BLAKE2b-256 |
a054c161e6e1359d4c50fa84d99e72ec937ff07b692cb5274a204200d0891c3b
|