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.3.tar.gz (67.9 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.3-py3-none-any.whl (84.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jsopfork-0.0.3.tar.gz
  • Upload date:
  • Size: 67.9 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.3.tar.gz
Algorithm Hash digest
SHA256 2416bd8875f4930f924fae79ecde589fd5a9d497b607304133c32718c55fc139
MD5 3edda188d62592a23a73310d79749389
BLAKE2b-256 d16263b3097f6e96584348803fd5997f871e62ac0b70382e4bd856d4fddc4413

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jsopfork-0.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7ce8e8de868fb04c7890908ec18bfb1de95984d3fc3082272d922712dd1943c3
MD5 a62360f71a1f1d55246e9dff4a2e83eb
BLAKE2b-256 86c2644421ddd1a88368cdfb8eeca423de55d5442dd757f22f8d000e8794675c

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