About Screenplain
You're a hacker. The command line is your home. You know tools like grep, sed and Git inside out. You have formed a symbiotic relationship with your text editor. Those tools are powerful in the right hands. But you're also a screenwriter. Screenwriting is much like programming. It's about structure and form, and -- obviously -- about reading, writing and modifying huge amounts of text. You don't want to use software that lacks the power of your hacking tools just because you're writing a screenplay instead of a shell script.
Enter Screenplain.
Screenplain allows you to write a screenplay as a plain text file using a format called Fountain. Text files are simple and supported by all text manipulation software. It's not just for hackers, too. The simplicity of plain text allows you to easily view and edit them on devices such as tablets and phones. No need for specific screenwriting software.
The magic that Screenplain performs is to take your plain text file and convert it to a good looking screenplay in an industry standard format. Send that file off to your producer, agent, director or screenwriting competition. The supported output formats are FDX, HTML, and PDF.
Screenplain can be used as a command-line application or a library. An Online version of Screenplain is also available.
Installing
pip install screenplain
Usage
Convert a Fountain screenplay to PDF:
screenplain screenplay.fountain screenplay.pdf
Convert to HTML:
screenplain screenplay.fountain screenplay.html
Convert to Final Draft (FDX):
screenplain screenplay.fountain screenplay.fdx
The output format is automatically determined from the output filename extension. If the output filename is omitted, Screenplain will write to standard output. As there is no output filename, you have to specify which format to output, e.g.:
screenplain --format=fdx screenplay.fountain
Credits
Screenplain was coded by Martin Vilcans.
The CSS code that formats Screenplain's HTML output as something that looks as much as a printed screenplay as is possible in HTML was created by Jonathan Poritsky.
The Fountain file format is the result of a collaboration between Stu Maschwitz and John August.
License
Screenplain is released under the MIT license.
Developing
Install uv, e.g. using pip:
python -m pip install uv
Running using uv
After this, run the working copy of the code with:
uv run screenplain
For example:
uv run screenplain screenplay.fountain screenplay.html
Activating virtual environment
As an alternative, you may activate the virtual environment, which makes screenplain available on your PATH:
uv venv # create .venv unless it already exists
source .venv/bin/activate
After this, you can simply run the command screenplain to run the working copy of the code, e.g.:
uv run screenplain screenplay.fountain screenplay.html
Testing
To run unit tests and style checks, run:
bin/test
To compare reference files with the actual output for pdf format, run:
tests/visual/pdf_test.py
This requires diff-pdf to be installed.
Metadata
Release files for screenplain 0.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| screenplain-0.12.0.tar.gz | 208.9 kB | Without provenance | Details for screenplain-0.12.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| screenplain-0.12.0-py3-none-any.whl | Python 3 | none | any | Details for screenplain-0.12.0-py3-none-any.whl |
Total release size: 420.8 kB
Release files / screenplain-0.12.0.tar.gz
| Download URL | screenplain-0.12.0.tar.gz |
|---|---|
| Size | 208.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e97c32b5dbce28e9623a364936d7142222837a67d1b9294262684fa13bd4c3c
|
|
BLAKE2b-256 checksum How to use checksums |
1cdeca417cf95ea70775dfe29ac373091aa488aa355cc4a4669685288cd4e4db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / screenplain-0.12.0-py3-none-any.whl
| Download URL | screenplain-0.12.0-py3-none-any.whl |
|---|---|
| Size | 211.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35feb87cbb0d99a8a713cd1368b9fcf67e522afbc68390a9d691c5fe77d3d4c0
|
|
BLAKE2b-256 checksum How to use checksums |
7efdc11f0072d85fb0fc4ab4feff133bb9fd7bcff6e6b2e56fdf20e03da0859c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for screenplain 0.12.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.