Skip to main content

openplate

openplate is a cross-platform(Any Language, Any Computer), temPLATE tool for Micro-Environments (Microservices, Micro-UI, etc.)

Purpose

Problem: Micro means more "setup and maintenance work". A lot more.

Solution: OpenPlate is a CLI which generates and keeps your projects up to date.

Installation with pip

To Install:

  • Prerequisites: Openplate was developed using Python 3.11, so check that your local python is >= 3.11

  • Type in your cli:

    pip install jsopfork
    

The PyPI distribution name for this fork is jsopfork, but the installed CLI command remains openplate.

Security: init commands

For security, init commands are disabled by default. In order to run many templates you must run this once:

openplate config set --allow-template-commands

Example:

Using a template available in git at: git@github.com:myorganization/ot-template-name#main

openplate init "git@github.com:myorganization/ot-template-name#main"

Other common examples:

Use an HTTPS Git URL:

openplate init "https://github.com/my-org/ot-template.git#v1"

Use a local Git repository via file://:

openplate init "file:///C:/repos/template-catalog#main"

Use a template stored in a sub-folder of a repository:

openplate init "git@github.com:my-org/template-catalog.git?path=templates/net-api#v1"

Use the legacy -r/--url flag:

# deprecated format
openplate init -r "https://github.com/my-org/ot-template.git#v1"

Update an existing project from its template:

openplate update

Inspect the tracked template state for the current project:

openplate info
openplate info --offline

[!TIP] Agent-friendly prompt JSON commands and usage notes are documented in docs/commands.md. See that guide for openplate project print-init-json and the openplate init --prompts-json-file or --prompts-json-stdin workflow.

Legacy nested project variants still work for compatibility, but openplate init, openplate update, and openplate info are the documented forms.

The -n/--name and -f/--folder init source options are no longer supported. Use explicit URLs instead.

openplate Will ask you some simple questions and then generate your project.

Done.

For more detailed command information, see commands

Templating Info

For info on how to create templates: See Docs

Support and Contributions

If you need support, start by checking the [issues] page. If that doesn't answer your questions, or if you think you found a bug, please [file an issue].

That said, if you have questions, reach out to us [communication].

Want to contribute to openplate? Awesome! Check out the contributing guide.

More information

Please see our Docs

Creating a Release for Openplate

to create a release:

  • As needed update the version in pyproject.toml
  • In this folder, run "python -m build"
    • NOTE: If you run into an error "No module named build.main", first run "python -m pip install build" and try again
  • Commit and push these changes to git before the next step
  • Manually Upload the resulting files in "dist" to a new Release in github

Verifying Installation

After updating run:

openplate --version

If it shows the current version, openplate is installed correctly.

Installation Troubleshooting

If you run into not being able to run "openplate" after installing, the pip install location may not be in your path.

  • Get the bin path:

    • During install, pip will tell you where it is installing to, for example it might install to: /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages
    • Now remove "lib" and everything after it and replace it with bin:
    • /Library/Frameworks/Python.framework/Versions/3.11/bin
  • This path needs to be added to your path

    For Linux/Unix/Mac

    using your favorite editor, open ~/.zshrc or ~/.bash_profile depending on which shell you use

    nano ~/.bash_profile
    

    We need to add the following line at the end: (Make sure to replace the path used)

    export PATH='$PATH:/Library/Frameworks/Python.framework/Versions/3.11/bin'
    

    For windows

    Use your system dialog to add a new path for where it installed

Metadata

Release files for jsopfork 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jsopfork 0.0.5
File Size Uploaded
jsopfork-0.0.5.tar.gz 70.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jsopfork 0.0.5
File Interpreter ABI Platform
jsopfork-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 154.9 kB

Release files / jsopfork-0.0.5.tar.gz

Download URL jsopfork-0.0.5.tar.gz
Size 70.1 kB
Tags Source
SHA-256 checksum
How to use checksums
233676b1aea31757244816fe9ee572a8296ccd03014bccbc1ce0e0d07e9e8362
BLAKE2b-256 checksum
How to use checksums
8a2a931f2324df7b929697f599f704ef02f7ad8e9e10113edccd272a91006539
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / jsopfork-0.0.5-py3-none-any.whl

Download URL jsopfork-0.0.5-py3-none-any.whl
Size 84.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e69a05f28af5095e46e846cad654d04f0ae1e2aaf65d738f6b036c59a52c8c30
BLAKE2b-256 checksum
How to use checksums
3201802241f85a7600e7378f5995b9ed29f51b0acddb156b9b40252b1db5ec9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

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