Skip to main content

Work with JSON which is stored as a value in a JavaScript file

Project description

python-js-files

This is a collection of Python functions for manipulating JavaScript "data files" -- that is, JavaScript files that define a single variable with a JSON value.

This is an example of a JavaScript data file:

const shape = { "sides": 5, "colour": "red" };

Think of this module as the JSON module, but for JavaScript files.

Usage

  • You can read a JavaScript file with read_js(path, varname)
  • You can write a JavaScript file with write_js(path, value, varname)
  • You can append an item to a JavaScript array with append_to_js_array(path, value)
  • You can append a key-value pair to a JavaScript object with append_to_js_object(path, key, value)

Installation

You have two options:

  1. Copy the file src/javascript folder into your project. You probably want to copy the tests as well.

  2. Install the package using pip:

    $ pip install alexwlchan-python-js-files
    

Why not use JSON files?

If you've opening an HTML file from disk, you can load data from a local JavaScript file, for example:

<script src="file://users/alexwlchan/repos/python-js-files/data.js"></script>

This is the only way to load data from an external file from an HTML file you've opened locally -- you can't do this with a JSON file, for example.

I have a lot of HTML files and local sites I build with an HTML viewer and metadata in a JavaScript file. The convenience of this approach outweighs the mild annoyance of having to store data in JavaScript, not JSON.

License

MIT.

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

alexwlchan_python_js_files-1.0.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file alexwlchan_python_js_files-1.0.0.tar.gz.

File metadata

File hashes

Hashes for alexwlchan_python_js_files-1.0.0.tar.gz
Algorithm Hash digest
SHA256 97a57c5c83381419cf186e3c4879fcd0465bbe8d75de8f7beb2cd42dc2bb7983
MD5 d377bb01153b1fbaa5616ed907d3201b
BLAKE2b-256 ccba6758d31a9e4152761e19e9aa36de8729bcd723bb5cba338bcf72877a8bcd

See more details on using hashes here.

File details

Details for the file alexwlchan_python_js_files-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for alexwlchan_python_js_files-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0b12ba2f3f37085688049bc3947d66679ce22a34a33ef27e65c0ab93874d7b1c
MD5 c7346dc4a57d5b7f7dade0ac08c9ff40
BLAKE2b-256 7f9897a8c397d0c64983356ca47b5d293581ea851c6032ea5faa1d50fca22dc4

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