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.5.tar.gz (70.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.5-py3-none-any.whl (84.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jsopfork-0.0.5.tar.gz
  • Upload date:
  • Size: 70.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.5.tar.gz
Algorithm Hash digest
SHA256 233676b1aea31757244816fe9ee572a8296ccd03014bccbc1ce0e0d07e9e8362
MD5 e4b43695618e6b059788c7e44b46a692
BLAKE2b-256 8a2a931f2324df7b929697f599f704ef02f7ad8e9e10113edccd272a91006539

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jsopfork-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 84.9 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e69a05f28af5095e46e846cad654d04f0ae1e2aaf65d738f6b036c59a52c8c30
MD5 aa8b5bdefd4a5f9fec287f5255d767b9
BLAKE2b-256 3201802241f85a7600e7378f5995b9ed29f51b0acddb156b9b40252b1db5ec9d

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