home ..
External Development System

Hermes II 3.5.10b3 includes the new Hermes Python Runtime environment. This environment allows Hermes II SysOps to run Python-based externals built with the Python-based External Development System (EDS).

The External Development System was designed to make Hermes externals much, much easier to write than the code resource-based API. The native language for EDS externals is Python, which is an fun, easy language to work with.

There are some excellent online and offline resources for learning Python if you are not familiar with the language. The source code for Leech 2000 is also a great place to start.

The External Development System itself is comprised of the documentation and APIs described on this web page along with the contents of the Hermes Python Runtime included in Hermes II 3.5.10. You do not need a special IDE or any custom software to write EDS externals. Any text editor will do. You also do not need a compiler; the Hermes Python Runtime external will compile and execute your Python-based external for you.

Getting Started

To get started with the External Development System, you need to download the latest beta release of Hermes II and install it on your system. All versions of Hermes II starting with 3.5.10b3 include the Hermes Python Runtime. The Runtime is a special external and a handful of resources that go into your Hermes Files directory. Together, these files enable you to run Python-based externals on your BBS.

Sample Externals

The next step is to download some of the sample externals and try them out. Leech 2000 is a complete reimplementation of the classic Leech BBS game. It also comes with complete source code which you are welcome to review and use in your own projects.

Hermes Python Console

One of the more interesting externals – for developers, anyway – is the Hermes Python Console external. This external gives you an interactive Python prompt that you can use to try out Python code, play with the Hermes API, and debug any externals that you might be working on.

This is a development tool only and should not be installed on a running BBS. If you do decide to install this external on an active BBS, make sure to set the security level on the external so that only you, the developer/SysOp, can access the external.