Last updated:
0 purchases
proclip 0.2.0
Proclip
A powerful templating tool for your projects.
CPython versions 3.7 through 3.11-dev and PyPy versions 3.7 through 3.9 are officially supported.
Windows, MacOS, and Linux are all supported.
Installation
To install the latest stable version of Proclip, use the following command:
pip install proclip
You can also install the latest development version using the following command:
pip install git+https://github.com/parafoxia/proclip
You may need to prefix these commands with a call to the Python interpreter depending on your OS and Python configuration.
Creating clips
You can create clips using the following command:
clip new <name> <file> [-o output-dir]
Use clip new --help for more information on what each option does.
To create a clip, first create a file, and code it how you want it to look.
You can also include variables that Proclip can replace when you paste the clip.
Variables use a slightly modified Jinja syntax, which additionally allows for default values to be provided.
Take the following example:
class {{ cls = MyClass }}:
def __init__(self, n: int) -> None:
self.{{ attr }} = n
@property
def number(self) -> int:
return self.{{ attr }}
if __name__ == "__main__":
c = {{ cls }}(5)
print(c.number)
In this example, you have two distinct variables: cls, and attr.
cls has a default value (MyClass), so when you paste the clip, that value will be used if you don't supply one.
Note that only the first instance of cls needs a default value.
Keep in mind that only one default value can be assigned per variable; others will be overwritten.
Pasting clips
You can paste clips using the following command:
clip paste <name> [-i input-dir] [-o output] [-v variables]
Use clip paste --help for more information on what each option does.
You can use the -v flag to insert values for variables when pasting.
Variables that were not assigned default values when the clip was created need a value supplied to them.
Default values can be overridden if you choose to do so.
Variables are passed as strings, where a value needs to be assigned to a key (for example, key=value).
You can use commas to separate multiple variable assignments (key1=value1,key2=value2).
In the above example, passing -v "attr=n" produces the following file:
class MyClass:
def __init__(self, n: int) -> None:
self.n = n
@property
def number(self) -> int:
return self.n
if __name__ == "__main__":
c = MyClass(5)
print(c.number)
Contributing
Contributions are very much welcome! To get started:
Familiarise yourself with the code of conduct
Have a look at the contributing guide
License
The Proclip module for Python is licensed under the BSD 3-Clause License.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.