Project commands#
Use project layout to create or repair project files and project dependencies
to check installed Python packages. These commands do not install the JITX runtime.
Layout commands default to the current directory; except for init, create the
target directory first. Dependency commands operate on the current project and
the Python environment running the CLI.
jitx project#
Choose layout or dependencies; the group itself shows help.
jitx project layout#
Choose a file operation below; the group itself shows help.
jitx project layout init#
Create the target directory, pyproject.toml, .gitignore, .vscode settings,
launch/tasks files, and a Python package with a sample design and local resistor.
The default name is derived from the target directory. Existing ordinary files
are preserved unless --force is set. .gitignore appends missing entries and
VSCode launch/tasks files merge even without --force. A VSCode bootstrap
pyproject.toml is replaced with the full project definition.
jitx project layout init myboard --name myboard
Argument / option |
Default |
Meaning |
|---|---|---|
|
|
Target directory. |
|
unset |
Project/package name; omitted: derive it from the target directory. |
|
|
Overwrite existing files where supported; see this command’s behavior above. |
jitx project layout vscode#
Discover designs and regenerate .vscode/launch.json and tasks.json.
JITX-owned entries are refreshed while non-JITX configurations are retained.
--force is accepted but has no additional effect for this command in 4.4.0.
The project must be importable for design discovery.
jitx project layout vscode .
Argument / option |
Default |
Meaning |
|---|---|---|
|
|
Target directory. |
|
|
Overwrite existing files where supported; see this command’s behavior above. |
jitx project layout gitignore#
Create .gitignore, or append missing JITX ignore entries to an existing file.
--force replaces the entire file, including your custom entries.
jitx project layout gitignore .
Argument / option |
Default |
Meaning |
|---|---|---|
|
|
Target directory. |
|
|
Overwrite existing files where supported; see this command’s behavior above. |
jitx project layout settings#
Write .vscode/settings.json for Pylance. Existing settings are preserved unless
--force replaces the file; this command does not merge custom settings.
jitx project layout settings .
Argument / option |
Default |
Meaning |
|---|---|---|
|
|
Target directory. |
|
|
Overwrite existing files where supported; see this command’s behavior above. |
jitx project layout pyproject#
Write project metadata with a name derived from the directory or supplied by
--name. Preserve an existing file unless --force is set or it is the temporary
VSCode bootstrap file. The 4.4.0 template declares jitx>=4.4.0,<5 and
jitxlib-standard>=4.4.0,<5; this permits later minor versions. For reproducible
4.4.0 examples, pin both packages to ==4.4.0 before installing dependencies.
jitx project layout pyproject . --name myboard
Argument / option |
Default |
Meaning |
|---|---|---|
|
|
Target directory. |
|
unset |
Project/package name; omitted: derive it from the target directory. |
|
|
Overwrite existing files where supported; see this command’s behavior above. |
jitx project dependencies#
With no subcommand, perform check. Options for the default action go after
dependencies; options for an explicit subcommand go after check or upgrade.
jitx project dependencies
jitx project dependencies check --check-include-group test
Argument / option |
Default |
Meaning |
|---|---|---|
|
|
Allow prerelease package candidates; otherwise use stable candidates. |
|
unset |
Include this optional dependency group; repeat for multiple groups. Repeatable. |
jitx project dependencies check#
Report available updates within pyproject.toml constraints and versions beyond
those constraints. This does not install packages, but writes a check timestamp
and may write a dependency report. Recent checks can be skipped during the
cooldown. The environment needs pip; with uv, install it using uv pip install pip.
Without pip, a check reports that it was skipped. Selected groups are entries in
[project.optional-dependencies].
jitx project dependencies check
Argument / option |
Default |
Meaning |
|---|---|---|
|
|
Allow prerelease package candidates; otherwise use stable candidates. |
|
unset |
Include this optional dependency group; repeat for multiple groups. Repeatable. |
jitx project dependencies upgrade#
Resolve and install updates within declared constraints, then editable-install the project. This modifies the active environment, does not rewrite dependency bounds, and does not update a uv lockfile. It bypasses the check cooldown and requires pip. Run from the project root so the editable install targets the project.
jitx project dependencies upgrade
Argument / option |
Default |
Meaning |
|---|---|---|
|
|
Allow prerelease package candidates; otherwise use stable candidates. |
|
unset |
Include this optional dependency group; repeat for multiple groups. Repeatable. |