Metadata-Version: 2.4
Name: pythonas
Version: 0.1.1
Summary: Ελληνικό API και μεταφραστής σύνταξης για την Python
Author: ΠΥΘΩΝΑΣ contributors
License: MIT
Keywords: python,greek,education,transpiler,localization
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Natural Language :: Greek
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# ΠΥΘΩΝΑΣ

**Ελληνικό API και προαιρετικά πλήρως ελληνική σύνταξη για την Python.**

Ο ΠΥΘΩΝΑΣ επιτρέπει να γράφεις Python με ελληνικά ονόματα συναρτήσεων,
τύπων και εξαιρέσεων. Για αρχεία `.πυ` προσφέρει επιπλέον έναν μικρό
μεταφραστή που μετατρέπει ελληνικές λέξεις-κλειδιά, όπως `αν`, `για` και
`συνάρτηση`, σε έγκυρη Python πριν από την εκτέλεση.

> Κατάσταση: πειραματικό alpha, έκδοση `0.1.1`. Είναι λειτουργικό εκπαιδευτικό
> project, όχι νέα ανεξάρτητη γλώσσα ούτε πλήρης μετάφραση όλου του Python
> ecosystem.

## Γρήγορη εικόνα

| Δυνατότητα | Παράδειγμα | Υποστηρίζεται |
|---|---|---:|
| Ελληνικές συναρτήσεις σε `.py` | `τύπωσε(μήκος(λίστα_))` | ✅ |
| Ελληνικά ονόματα μεταβλητών | `βαθμός = 8` | ✅ |
| Ελληνικά keywords σε `.πυ` | `αν βαθμός >= 5:` | ✅ |
| Εκτέλεση με ελληνική εντολή | `πυθωνας αρχείο.πυ` | ✅ |
| Κανονικά Python packages | `εισαγωγή json` ή `import json` | ✅ |
| Ελληνικά μηνύματα traceback | `SyntaxError` → ελληνικά | ❌ |
| Αυτόματο `python αρχείο.πυ` | χωρίς launcher | ❌ |
| Πλήρης μετάφραση της standard library | κάθε Python API στα ελληνικά | ❌ |

## Εγκατάσταση

Από τοπικό clone:

```bash
python -m pip install .
```

Για ανάπτυξη, ώστε κάθε αλλαγή στον κώδικα να εφαρμόζεται αμέσως:

```bash
python -m pip install -e .
```

Από GitHub, όταν ανέβει το repository:

```bash
python -m pip install git+https://github.com/adondada/pythonas-gr.git
```

Απαιτείται Python `3.10` ή νεότερη.

Το όνομα της Python distribution είναι `pythonas-gr`, ενώ το import package
παραμένει Unicode:

```python
import ΠΥΘΩΝΑΣ
```

Πλήρεις οδηγίες: [docs/installation.md](docs/installation.md)

## Χρήση 1: ελληνικό API μέσα σε κανονικό `.py`

```python
from ΠΥΘΩΝΑΣ import *

ονόματα = ["Άννα", "Νίκος", "Μαρία"]

τύπωσε("Πλήθος:", μήκος(ονόματα))
τύπωσε("Ταξινομημένα:", ταξινόμησε(ονόματα))
τύπωσε("Άθροισμα:", άθροισμα([10, 20, 30]))

for όνομα in ονόματα:
    τύπωσε("Γεια σου", όνομα)
```

Εκτέλεση:

```bash
python αρχείο.py
```

Σε `.py` τα keywords παραμένουν κανονικά Python: `if`, `for`, `def`,
`return`. Ένα import δεν μπορεί να αλλάξει τη γραμματική της Python αφού ο
parser διαβάζει πρώτα ολόκληρο το αρχείο.

## Χρήση 2: πλήρως ελληνική σύνταξη σε `.πυ`

Δημιούργησε `χαιρετισμός.πυ`:

```text
συνάρτηση χαιρέτα(όνομα):
    αν όχι όνομα:
        επέστρεψε

    τύπωσε("Γεια σου", όνομα)

ονόματα = ["Άννα", "Νίκος", "Μαρία"]

για όνομα σε ονόματα:
    χαιρέτα(όνομα)
```

Εκτέλεσέ το με:

```bash
πυθωνας χαιρετισμός.πυ
```

Ισοδύναμες εντολές:

```bash
pythonas χαιρετισμός.πυ
python -m ΠΥΘΩΝΑΣ χαιρετισμός.πυ
```

Ο launcher μεταφράζει μόνο tokens που είναι ονόματα. Δεν πειράζει strings ή
σχόλια, άρα το κείμενο `"αν για σε"` παραμένει ακριβώς ίδιο.

## Παράδειγμα με κλάση και exceptions

```text
κλάση Λογαριασμός:
    συνάρτηση __init__(εαυτός, υπόλοιπο=0):
        εαυτός.υπόλοιπο = υπόλοιπο

    συνάρτηση ανάληψη(εαυτός, ποσό):
        αν ποσό > εαυτός.υπόλοιπο:
            σήκωσε ΣφάλμαΤιμής("Ανεπαρκές υπόλοιπο")
        εαυτός.υπόλοιπο -= ποσό

λογαριασμός = Λογαριασμός(100)

προσπάθησε:
    λογαριασμός.ανάληψη(120)
εξαίρεση ΣφάλμαΤιμής ως σφάλμα:
    τύπωσε("Σφάλμα:", σφάλμα)
τελικά:
    τύπωσε("Υπόλοιπο:", λογαριασμός.υπόλοιπο)
```

Το `εαυτός` είναι απλό όνομα μεταβλητής. Η Python δεν απαιτεί το όνομα
`self`, οπότε εδώ δεν χρειάζεται ειδική μετάφραση. Μερικές φορές η γλώσσα
είναι λιγότερο πεισματάρα από τους ανθρώπους που τη χρησιμοποιούν.

## CLI

```text
πυθωνας ΑΡΧΕΙΟ [--δείξε-μετάφραση] [ΟΡΙΣΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΟΣ...]
```

Παραδείγματα:

```bash
# Κανονική εκτέλεση
πυθωνας πρόγραμμα.πυ

# Δες την Python που παράγεται χωρίς να την εκτελέσεις
πυθωνας πρόγραμμα.πυ --δείξε-μετάφραση

# Πέρασε ορίσματα στο πρόγραμμα μέσω sys.argv
πυθωνας πρόγραμμα.πυ πρώτο δεύτερο
```

## Διαθέσιμες ενότητες

| Ενότητα | Περιεχόμενο |
|---|---|
| `βασικά` | Built-ins, τύποι, exceptions και βοηθητικές συναρτήσεις |
| `μαθηματικά` | Σταθερές και συναρτήσεις του `math` |
| `τυχαία` | Τυχαίοι αριθμοί, επιλογές, δείγματα και ανακάτεμα |
| `αρχεία` | `Διαδρομή`, ανάγνωση/γραφή και JSON |
| `χρόνος` | Ημερομηνίες, ώρες, μορφοποίηση και αναμονή |
| `σύστημα` | Φάκελοι, environment variables και subprocesses |
| `δίκτυο` | Απλές HTTP GET λήψεις με τη standard library |
| `μεταφραστής` | Μετάφραση, compilation και εκτέλεση ελληνικού source |

Όλα τα δημόσια ονόματα εξάγονται και από το κεντρικό package:

```python
from ΠΥΘΩΝΑΣ import τετραγωνική_ρίζα, Διαδρομή, τώρα
```

Πλήρης αναφορά: [docs/api.md](docs/api.md)

## Τεκμηρίωση

- [Εγκατάσταση και απεγκατάσταση](docs/installation.md)
- [Ελληνική σύνταξη και όλες οι μεταφράσεις](docs/syntax.md)
- [Πλήρης αναφορά API](docs/api.md)
- [Πρακτικά παραδείγματα](docs/examples.md)
- [Αρχιτεκτονική και λειτουργία του transpiler](docs/architecture.md)
- [Συχνές ερωτήσεις και προβλήματα](docs/faq.md)
- [Οδηγός συνεισφοράς](CONTRIBUTING.md)
- [Ιστορικό εκδόσεων](CHANGELOG.md)

## Βασικοί περιορισμοί

1. Το `python αρχείο.πυ` δεν ενεργοποιεί αυτόματα τον μεταφραστή. Χρησιμοποίησε
   `πυθωνας αρχείο.πυ`.
2. Το `import ΠΥΘΩΝΑΣ` σε `.py` δεν επιτρέπει ελληνικά keywords.
3. Οι μέθοδοι των built-in αντικειμένων παραμένουν αγγλικές. Για παράδειγμα:
   `λίστα_.append(τιμή)`, όχι ακόμη `λίστα_.πρόσθεσε(τιμή)`.
4. Τα traceback, τα syntax errors και τα errors τρίτων βιβλιοθηκών παραμένουν
   κυρίως αγγλικά.
5. Δεν υπάρχει ακόμη editor extension ή επίσημο syntax highlighting για `.πυ`.
6. Η εκτέλεση ελληνικού source χρησιμοποιεί τελικά `exec`, επομένως δεν πρέπει
   να εκτελείται μη έμπιστος κώδικας.

## Δομή repository

```text
pythonas-gr/
├── src/ΠΥΘΩΝΑΣ/          # Υλοποίηση βιβλιοθήκης και transpiler
├── examples/              # Εκτελέσιμα παραδείγματα
├── tests/                 # Tests με pytest
├── docs/                  # Αναλυτική τεκμηρίωση
├── pyproject.toml         # Packaging και CLI entry points
├── CONTRIBUTING.md
├── CHANGELOG.md
└── LICENSE
```

## Ανάπτυξη και tests

```bash
git clone https://github.com/adondada/pythonas-gr.git
cd pythonas-gr

python -m venv .venv
source .venv/bin/activate          # Linux/macOS
# .venv\Scripts\Activate.ps1       # Windows PowerShell

python -m pip install -e .
python -m pip install pytest
python -m pytest
```

Build wheel:

```bash
python -m pip wheel . --no-deps -w dist
```

## Στόχος του project

Ο ΠΥΘΩΝΑΣ είναι κυρίως εκπαιδευτικό και πειραματικό project. Σκοπός του είναι
να δείξει ότι η Python μπορεί να αποκτήσει ένα προσβάσιμο ελληνικό API χωρίς
fork του interpreter, ενώ ταυτόχρονα εξερευνά πώς μπορεί να λειτουργήσει μια
ελαφριά ελληνική σύνταξη πάνω από την πραγματική Python.

Δεν προσπαθεί να απομονώσει τον χρήστη από την Python. Ο παραγόμενος κώδικας
παραμένει Python, συνεργάζεται με υπάρχοντα packages και μπορεί να εμφανιστεί
με `--δείξε-μετάφραση`.

## Άδεια

MIT. Δες το [LICENSE](LICENSE).
