Skip to main content

Back-port compiler for Python 3.6 formatted string (f-string) literals.

Project description

NB: f2format is currently under reconstruction. It is highly recommended to directly install from the git repo or the pre-release distributions.


f2format

PyPI - Downloads PyPI - Version PyPI - Python Version

GitHub Actions - Status Codecov - Coverage Documentation Status

Write f-string in Python 3.6 flavour, and let f2format worry about back-port issues :beer:

  Since PEP 498, Python introduced f-string literals in version 3.6. Though released ever since December 23, 2016, Python 3.6 is still not widely used as expected. For those who are now used to f-strings, f2format provides an intelligent, yet imperfect, solution of a backport compiler by converting f-strings to str.format expressions, which guarantees you to always write f-strings in Python 3.6 flavour then compile for compatibility later.

f2format is inspired and assisted by my good mate @gousaiyang. It functions by tokenising and parsing Python code into multiple abstract syntax trees (AST), through which it shall synthesise and extract expressions from f-string literals, and then reassemble the original string using str.format method. Besides conversion and format specification, f2format also considered and resolved string concatenation. Also, it always tries to maintain the original layout of source code, and accuracy of syntax.

Documentation

  See documentation for usage and more details.

Contribution

  Contributions are very welcome, especially fixing bugs and providing test cases. Note that code must remain valid and reasonable.

See Also

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bpc-f2format-0.8.7.tar.gz (16.8 kB view details)

Uploaded Source

File details

Details for the file bpc-f2format-0.8.7.tar.gz.

File metadata

  • Download URL: bpc-f2format-0.8.7.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for bpc-f2format-0.8.7.tar.gz
Algorithm Hash digest
SHA256 5c2affdf649b9c63709146fff42ad44a5f6b0a95e6c36c90740d373033b5111c
MD5 07a028ad65194fb0ec9a1f4dc19cf069
BLAKE2b-256 5fac9998dd53a3c5b71f38dc2f85864bf818ceb801f92a6cb3f5c576a642ae14

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page