Metadata-Version: 2.5
Name: opweb
Version: 1.0.1
Summary: Web asset distribution package - JavaScript, TypeScript, CSS, HTML, and Node.js assets for web development projects.
Author-email: opweb author <author@example.com>
License: MIT
License-File: LICENSE
Keywords: assets,css,frontend,html,javascript,node,typescript,web
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# opweb

**opweb** is a Python package for distributing web development assets including JavaScript, TypeScript, CSS, HTML, and Node.js modules.

## Installation

```bash
pip install opweb
```

## Usage

```python
from opweb import get_asset_path, list_assets

# Get path to a lesson asset
js_path = get_asset_path("web", "01-node-fundamentals", "code", "async-styles.js")

# Get path to a TypeScript asset
ts_path = get_asset_path("web", "05-typescript", "src", "01-basics.ts")

# Get path to a React asset
react_path = get_asset_path("web", "06-react-hello", "src", "App.js")

# Get path to a fullstack asset
fullstack_path = get_asset_path("web", "09-fullstack", "backend", "server.js")

# List all available top-level asset folders
assets = list_assets()
print(assets)

# List assets in a specific subfolder
web_assets = list_assets("web")
```

## Asset Structure

```
opweb/assets/
├── css/          # CSS stylesheets
├── html/         # HTML templates
├── js/           # JavaScript files
├── node/         # Node.js modules
├── ts/           # TypeScript files
└── web/          # Web development lessons (from web.zip)
    ├── 01-node-fundamentals/
    │   ├── README.md
    │   ├── practice.md
    │   └── code/
    │       ├── async-styles.js
    │       ├── blocking.js
    │       ├── event-loop.js
    │       ├── non-blocking.js
    │       ├── sync-vs-async.js
    │       └── test.js
    ├── 02-http-express/
    ├── 03-mongodb-models/
    ├── 04-crud-mvc/
    ├── 05-typescript/
    ├── 06-react-hello/
    ├── 07-react-data-css/
    ├── 08-react-forms/
    └── 09-fullstack/
        ├── backend/
        └── frontend/
```

## License

MIT