semvec/pypi-packages huggingface dataset:
if-dsl-gui-ai 0.1.2
For generating and playing IF games
Requires Python: >=3.9

# Jezik i alat za kreiranje IF (Interactive Fiction) igara sa grafickim korisnickim interfejsom uz dodatak generisanja slika na osnovu teksta

## Instaliranje
Pre same instalacije ovog alata, potrebno je instalirati PyTorch, koji je neophodan za rad sa modelima vestacke inteligencije. Možete ga instalirati pomocu sledece komande:
`pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118`

``` 
**Napomena**
Neophodno je posedovanje graficke kartice sa CUDA jezgrima  
```

Nakon toga takodje u konzoli pokrecete sledecu komandu:
`pip install if-dsl-gui-ai`


## Inicijalno postavljanje
1. Nakon instalacije, potrebno je da u root direktorijumu svog projekta kreirate direktorijum sa nazivom `if_dsl_gui_ai`.
2. U novokreiranom direktorijumu kreirati jos jedan sa nazivom `games`.  
  *(ostatak je opcionalan ukoliko želite da imate primer igre)*
3. U `games` folderu kreirajte novi folder sa nazivom `simpleGame.game`.
4. U `simpleGame.game` prekopirajte sledece stvari iz `venv/Lib/site-packages/if_dsl_gui_ai`:
    - Slike: `backyard.png`, `entryway.png`, `hallway.png`, `kitchen.png`
    - IF igru: `simpleGame.game`

## Uputstvo za pokretanje projekta
- Importujte `main` iz `if_dsl_gui_ai`.
- U vas kod dodajte `main.App()`.
- Pokrenite vasu aplikaciju.

## Kako i sta?
- Za pregled svih igara i izbor za igranje birate `Library`.
- Za kreiranje novih IF igrica, birate `CreateFiction`.
- Za igranje IF igre, idite u `Library`, izaberite igru, a zatim kliknite dugme `Play`.
- Za kreiranje slika za vasu IF igru, izaberite igru, zatim kliknite dugme `Picture creator`.
- Za pregled koda vase IF igre, idite u `Library`, izaberite igru, a zatim kliknite dugme `Load code`.

## Struktura projekta
- `gameFrame.py`: Ova datoteka sadrži kod koji upravlja grafickim interfejsom za igranje igrica.
- `gameInterpreter.py`: U ovom fajlu se kreiraju Python klase interpretiranjem informacija dobijenih parsiranjem igrica napisanih u `gameWorldDSL.tx`.
- `gui.py`: Ova datoteka sadrži kod za graficki interfejs koji se sastoji od pocetnog ekrana, dela za kreiranje IF, dela za
     ucitavanje koda igrica i izbora igara za igranje, kao i dela za kreiranje slika igre.
- `main.py`: Startni fajl.
- `pictureCreatorFrame.py`: GUI za kreiranje slika IF igre.
- `codeEditorFrame.py`: Code editor za pisanje IF igre.
- `simpleGame.game`: Ovo je primer jedne igre napisane u `gameWorldDSL.tx`-u.
- `gameWorldDSL.tx`: Ova datoteka sadrži opis Domain-Specific Language (DSL) kojim je moguce pisati igre.
- `dslClasses.py`: Ovaj fajl sadrži Python interpretaciju klasa definisanih u `gameWorldDSL.tx` formatu.

##Dodatno
- Za brzi rad aplikacije skinite [*Stable diffusion*](https://huggingface.co/runwayml/stable-diffusion-v1-5) sa sajta [*huggingface*](https://huggingface.co.)
- Zatim je potrebno da kreirate novu *Environment variable*-u sa nazivom `SDV5_MODEL_PATH` i vrednoscu koja predstavlja putanju do *Stable diffusion*-a na vasem racunaru
udprecorder 0.1.5
Record and replay UDP streams
Requires Python: >=3.8,<4.0

# UDPRecorder

UDPRecorder is a Python library for recording and replaying UDP steams. It is made to ease the development of applications based on UDP streams. It is originally used to replay telemetry data from sim racing games such as *Assetto Corsa Competizione* or *F1 20XX* games.

## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install UDPRecorder.

```bash
pip install udprecorder
```

## Usage

### Commandline

```bash
record_udp -p 1234 -s 127.0.0.1 -f myfile.bin -b 1024 -c 9999 -s 3600
replay_udp -p 1234 -s 127.0.0.1 -f myfile.bin
```

|    |          | description                  | required | type | default    |
|----|----------|------------------------------|----------|------|------------|
| -p | --port   | Port to listen/replay to     | False    | int  | 1234       |
| -s | --server | Host to listen/replay to     | False    | str  | 127.0.0.1  |
| -f | --file   | File to save/read the stream | False    | str  | udp.bin    |
| -b | --buffer | Buffer size limit            | False    | int  | 65536      |
| -c | --count  | number of message to read    | False    | int  | 1000000000 |
| -t | --time   | time limit to record         | False    | int  | 1000000000 |

### In scripts

```python
import udprecorder

# To record a stream
udprecorder.record(
    file_name = 'my_record.bin', # path to the saved replay
    addr = ('127.0.0.1', 1234)   # (host, port) to listen to
    buffer_size = 65536     # size of buffer used for the socket
    max_num_packets = 1200  # stop the record after 1200 event received
    max_seconds = 3600      # stop the record after 1 hour
)

# To replay a stream
udprecorder.replay(
    file_name = 'my_record.bin', # path to the saved replay
    addr = ('127.0.0.1', 1234)   # (host, port) to emit to
)
```

## Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. A list of future changes is available just below. Feel free to contribute on those points.

Please make sure to update tests as appropriate.

## Future updates

- Add parameter to adjust the replay speed
- better handling of errors
- Add pipeline for tests / pre-commits
- Add badges on the readme based on build
- Add tox to tests multiples environments

## License

[MIT](https://choosealicense.com/licenses/mit/)