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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jsopfork-0.0.4.tar.gz (68.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jsopfork-0.0.4-py3-none-any.whl (84.2 kB view details)

Uploaded Python 3

File details

Details for the file jsopfork-0.0.4.tar.gz.

File metadata

  • Download URL: jsopfork-0.0.4.tar.gz
  • Upload date:
  • Size: 68.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for jsopfork-0.0.4.tar.gz
Algorithm Hash digest
SHA256 a0a19d7ea0dd99ca8aa012691abacc7f1f8b5d6b072ea4d2ebe6ecc1ba82cf2c
MD5 1b17b63151b5b56adfd91893eea35ac2
BLAKE2b-256 b5570d9b3bf3f7204ebb2f4e8880f53eb8c0cff339420464c658b14d7b28b9bd

See more details on using hashes here.

File details

Details for the file jsopfork-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: jsopfork-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 84.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for jsopfork-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8acf602ba4ce5a8a18ae4c6037422befb37e97dcf581e7d10b2726dab240bb6f
MD5 87f28a95ee32856a8d372c319e7e8ff2
BLAKE2b-256 4685631d70cb44fe7bd0804620c78b5e478e9891f1f13f0c0b40a16b6599be7d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page