Skip to main content

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)

Source distribution for inline_files 1.0.0
File Size Uploaded
inline_files-1.0.0.tar.gz 4.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for inline_files 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page