Python-based command line tool to replace text/code in files
Project description
librep - LIne Block REPlacement
librep is a python-based command-line tools allows to render file placeholders, so
it replaces a placeholder of a given syntax with the content of the file that is
given in the placeholder.
The tool is independent of the document type, since it is assumed that the chosen syntax does not interfere with the syntax of any (especially markup) language.
The indentation of the placeholder is used for the whole inserted code/text block.
Usage
Insert a placeholder of the following syntax inside a file:
§§§<filename>:<start>:<end>§§§
Afterwards, you can render the placeholder by running
$ librep -i "file_with_placeholder.md"
This will replace the original line in the file file_with_placeholder.md with
the content of the file <filename> from line <start> to line <end>.
The filename has to either be absolute or relative to the file you specify the
placeholder in.
Using a URL instead of a file from the repository
If you want to link a file that is not present on your machine, but you have a URL to that exact file, you can use the following syntax:
§§§url="<url>":<start>:<end>§§§
Note that this requires wget to be installed on your machine
Example
This file file_with_placeholders.md
# Heading
Check out this awesome python code!
```py
§§§./code.py§§§
```
Can be processed with librep by doing
$ librep -i "file_with_placeholder.md"
Which results in
# Heading
Check out this awesome python code!
```py
def calc_sum(a, b):
"""Calculates the sum of a+b
Parameters
----------
a : float, int
First number
b : float, int
Second number
Returns
-------
sum : float
Sum of a and b
"""
return a + b
```
Examples
Below you can find different versions for inserting different parts of the file
examples/plotting/plot_rocs.py into your markdown file.
| Placeholder | Result |
|---|---|
§§§examples/file.py§§§ |
whole file |
§§§examples/file.py::§§§ |
whole file |
§§§examples/file.py:10:20§§§ |
from line 10 to line 20 |
§§§examples/file.py::10§§§ |
from top to line 10 |
§§§examples/file.py:10§§§ |
from line 10 to bottom |
§§§examples/file.py:10:§§§ |
from line 10 to bottom |
Installation
librep can simply be installed using pip install:
pip install librep
# or
pip install https://github.com/umami-hep/librep/archive/master.tar.gz
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file librep-0.0.2.tar.gz.
File metadata
- Download URL: librep-0.0.2.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed6b5922b7df91a04ff3c9b4c5e14cfedbb8506e4742be4e4a9eae7d84c0596a
|
|
| MD5 |
20342b5ab51490a9715881d9c51702bf
|
|
| BLAKE2b-256 |
d09b4d04f4611beafc98ba3397b7679aeefb4f79eb94d8b7c0d959bdbe0e300f
|
File details
Details for the file librep-0.0.2-py3-none-any.whl.
File metadata
- Download URL: librep-0.0.2-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94f0badede9753456b0d96068a97f1348f7966e5807214707709da38e8c2ba21
|
|
| MD5 |
4720b9b9c55ad9958ad879f105588f33
|
|
| BLAKE2b-256 |
15999948f6cc75e4d43f02d47019f055d11b4add8538d56c3d8f73bf6eae249e
|