Metadata-Version: 2.5
Name: pseudocode-i18n
Version: 0.1.0
Summary: Multilingual educational pseudocode parser, Python transpiler and runtime
Author: Rod2ik
License: GPL-3.0-or-later
License-File: LICENSE
Keywords: education,i18n,pseudocode,python,transpiler
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Education
Classifier: Topic :: Software Development :: Compilers
Requires-Python: >=3.11
Requires-Dist: pyyaml>=6.0
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: mkdocs-material>=9.6; extra == 'dev'
Requires-Dist: mkdocs<2,>=1.6; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.12; extra == 'dev'
Description-Content-Type: text/markdown

# pseudocode-i18n

`pseudocode-i18n` is the multilingual semantic core of the Pseudocode ecosystem. It provides language definitions, parsing, a canonical AST, Python transpilation, runtime execution and a command-line interface.

Initial languages: French, English, Spanish, German, Italian and Portuguese.

```text
Fonction factorielle(n)
    r = 1
    Pour i de 1 à n
        r = r * i
    Fin Pour
    Renvoyer r
Fin Fonction

Afficher factorielle(5)
```

Run a file directly:

```bash
pseudo factorielle.pseudo-fr
pseudocode factorielle.pseudo-fr
```

Other commands:

```bash
pseudo check factorielle.pseudo-fr
pseudo transpile factorielle.pseudo-fr
pseudo transpile factorielle.pseudo-fr -o factorielle.py
```

## Development

Prepare a local development checkout with one command:

```bash
yarn setup
```

This keeps the normal `yarn install` behavior intact and additionally installs the Python project in editable mode with its development dependencies.

Run the complete validation pipeline with:

```bash
yarn bfc
```

The project version is sourced from `package.json` and synchronized to `pyproject.toml` and `pseudocode_i18n/__init__.py`:

```bash
yarn version:check
yarn version:stamp
yarn version:sync
```

`version:stamp` generates a PEP 440-compatible calendar version such as `2026.9.1.post105432`.

## Releases

GitLab Pages is built from the default branch. PyPI releases are performed from version tags through GitLab CI/CD and PyPI Trusted Publishing, without a permanent PyPI token.

Before the first release, configure a **Pending Trusted Publisher** on PyPI for the GitLab repository. See the project documentation for the exact values.

## Companion projects

- `pygments-lexer-pseudocode-i18n`: reusable Pygments lexer.
- `mkdocs-pseudocode-i18n`: MkDocs integration and MathJax-aware rendering.
- `vscode-pseudocode`: VS Code extension.

## License

`pseudocode-i18n` is free software released under the **GNU General Public License version 3 or any later version (GPL-3.0-or-later)**. See [`LICENSE`](LICENSE).
