Metadata-Version: 2.4
Name: yt-dlp-ejs
Version: 0.1.0
Summary: External JavaScript for yt-dlp supporting many runtimes
Project-URL: Documentation, https://github.com/yt-dlp/ejs#readme
Project-URL: Issues, https://github.com/yt-dlp/ejs/issues
Project-URL: Source, https://github.com/yt-dlp/ejs
Author-email: Simon Sawicki <contact@grub4k.dev>
License-Expression: Unlicense AND MIT AND ISC
License-File: LICENSE
Keywords: yt-dlp
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# yt-dlp-ejs

> [!CAUTION]
> This is currently in development

External JavaScript for yt-dlp supporting many runtimes

## Manual Installation

In the yt-dlp repository, install the python package, either directly or from url:

```console
pip install git+https://github.com/yt-dlp/ejs@main
```

## Development

While this project does pin its dependencies,
it does not use lockfiles or enforce a particular package manager.
You may install dependencies using any compatible package manager.
If you notice differences between different runtimes builds
please open an issue [here](<https://github.com/yt-dlp/ejs/issues/new>).

### Build

To build the Python package you need a PEP518 compatible builder.
The build hook will automatically invoke `deno`, `bun` or `node` as required.

Alternatively, to only build the JavaScript files you can run the `bundle` script manually.

### Tests

First, to download the player files, run `src/yt/solver/test/download.ts`.

After running that once, use any of `deno test`, `bun test` or `node --test`.

## Licensing

This code is licensed under [Unlicense](<https://unlicense.org/>).

An exception to this are the prebuilt wheels, which contain both
[`meriyah`](<https://github.com/meriyah/meriyah>) and [`astring`](<https://github.com/davidbonnet/astring>),
licensed under [`ISC`](<https://github.com/meriyah/meriyah?tab=ISC-1-ov-file>) and [`MIT`](<https://github.com/davidbonnet/astring?tab=MIT-1-ov-file>), respectively.
