Metadata-Version: 2.4
Name: PyXWizard
Version: 0.28b3
Summary: Package Python scripts into standalone Windows executables — a TRADELY PROJECT
Author-email: "TRADELY.DEV" <dev@tradely.dev>
License-Expression: Apache-2.0
Project-URL: Homepage, https://doc.tradely.dev
Project-URL: Repository, https://github.com/techareaone/PyX
Project-URL: Bug Tracker, https://discord.tradely.dev
Keywords: pyinstaller,exe,executable,build,windows,bundler,wizard
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: pyinstaller>=6.0
Dynamic: license-file

# PyX Wizard — Library Edition

**Python → EXE Builder**  
Package Python scripts into standalone Windows executables from code.

## Quick Start

```python
import pyxwizard as PyXWizard

PyXWizard.begin()
PyXWizard.location("my_script.py")
PyXWizard.name("MyApp")
PyXWizard.build()
```

## API Reference

| Command | Required | Default | Description |
|---|---|---|---|
| `PyXWizard.begin()` | Yes | — | Initialise PyX, fetch lib categories |
| `PyXWizard.location(path)` | Yes | — | Script path or `"self"` |
| `PyXWizard.name(name)` | Yes | — | Project name (= EXE filename) |
| `PyXWizard.author(name)` | No | `TRADELY.DEV` | Author metadata |
| `PyXWizard.console(bool)` | No | `True` | Show console window |
| `PyXWizard.icon(path)` | No | Tradely icon | Custom .ico file |
| `PyXWizard.data(f1, f2, ...)` | No | None | Folders to bundle |
| `PyXWizard.cert(pfx, pwd, signtool?)` | No | None | Code signing cert |
| `PyXWizard.outlocation(path)` | No | Script dir | Where to put PyX_Data |
| `PyXWizard.build()` | Yes | — | Run the build, returns exe Path |

---

## Notes

- **"self" mode**: `PyXWizard.location("self")` packages the calling script. All 
  `import pyx` and `PyXWizard.xxx()` lines are automatically removed from the 
  packaged copy.
- **Data folders**: Files in bundled folders are accessible at runtime with 
  `"packaged-within-exe:folder_name/file.ext"` string literals (auto-rewritten 
  by the preprocessor).
- **Venv reuse**: Building the same project name twice reuses the existing 
  virtual environment instead of recreating it.
- **Library categories**: On `begin()`, PyX fetches a remote JSON of known 
  library metadata to improve PyInstaller compatibility (collect-all, 
  hidden-imports, copy-metadata). Works offline too — just without 
  categorisation.

  ## Further Details

Check out [PyX Wizard by TRADELY](https://doc.tradely.dev)

