Inline Files
This Python package allows us to read and interact with inline files.
An inline file is a file stored within another file. This parent file can be any kind of file, but a .py file is preferred due to how an inline file is defined.
Definition
We use the following syntax to define an inline file:
r"""ILF
__ID1__
Hello World!
__ID2:json__
{
"hello": "world"
}
"""
In other words, an inline file must be defined inside a multiline comment, or docstring, and must be preceded by __[ID]__, where [ID] is the inline file's name. In the example above, there are two inline files, "ID1" and "ID2", with "ID2" having an optional extension.
If an inline file is defined with an extension, the file will be read according to that extension. For example, a JSON file will be processed using the json module. Files without an extension are treated as text files. Currently, the module supports json, yaml and xml extensions. Below is another example of an inline file with an extension.
r"""ILF
__file1:yaml__
filename: file1
extension: yaml
Module
The module contains a constructor responsible for reading a file and extracting its inline files. By default, this file will be the file that calls the constructor, but another file can be specified.
The module's main method, get_file(), will return an inline file's contents, which can be a string or a structure, if the file has one of the supported extensions.
There is also a get_extension() method, used to retrieve an inline file's extension.
Usage example
from inline_files import InlineFiles
ilf = InlineFiles()
i = ilf.get_file("ID1")
print(i)
r"""ILF
__ID1__
Hello World!
__ID2__
def ping():
return "pong"
"""
Usage example with extensions
from inline_files import InlineFiles
ilf = InlineFiles()
j = ilf.get_json("J")
print(j["filename"])
r"""ILF
__J:json__
{
"filename": "J",
"extension": "json"
}
"""
Metadata
Release files for inline_files 1.0.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 | |
|---|---|---|---|
| inline_files-1.0.0.tar.gz | 4.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| inline_files-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.7 kB
Release files / inline_files-1.0.0.tar.gz
| Download URL | inline_files-1.0.0.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b98683dcb03addb5b447a8a2afda8b3dd22d249413fc63cef3b5b89cddfad1fa
|
|
BLAKE2b-256 checksum How to use checksums |
8477c2bc55ee91ce018e2ca779023e5cea4ebf0da262ab79f799b1482197f4d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.28.0
|
Release files / inline_files-1.0.0-py3-none-any.whl
| Download URL | inline_files-1.0.0-py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
be54adf5f13e09834a4068af17b559c5c84bed9bd1034d9fcc03718983a5fae8
|
|
BLAKE2b-256 checksum How to use checksums |
9bc48090116aab05b981643b0a67095c5b3b5a46e268876ba41b7b2035a6da56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.28.0
|