Skip to main content

Introduction

Hob is a multi-language code generator for the Opera Scope Protocol. It generates code from Google Protocol Buffer files (.proto), which describes the services, messages, commands and events.

The Scope Protocol is an RPC system used in the Opera web browser. This allows external and embedded clients to debug, inspect or perform other operations on any running Opera instance.

Hob consists of the following components:

  • The hob command line tool which is used to generate code and other output formats.

  • A library for working with Google Protocol Buffer definitions. It can read .proto files and has classes and functions for working with protobuf elements.

  • Support for third party extensions which can add additional commands.

Dependencies

argparse:

http://code.google.com/p/argparse/

mako:

http://www.makotemplates.org/

If you install hob using easy_install or pip these dependencies will be installed automatically.

Usage

usage: hob [-h] [-v] [--verbose] [--quiet] [-c CONFIG_FILE] [-t TARGET]
           [--project PROJECT] [-w [WARNING [WARNING ...]]] [--pdb]
           [--profile FILE]
           command ...

commands:
    xml                 Generate XML structures of protocol definitions
    proto               Generate Protocol Buffer definitions
    js                  Create service interfaces for JavaScript. If no files
                        are specified, the following files will be added in
                        the 'service' folder: console_logger.py,
                        http_logger.py, scope.py, window_manager.py,
                        ecmascript_debugger.py. Files can also be specified
                        with the service name, e.g. just ecmascript-debugger.
                        scope.py and window_manager.py will always be added.
    extensions          Lists all enabled extensions
    rst-doc             Create reST documentation of selected services. If no
                        files are specified all services are added.
    validate            Validates services, commands, events, messages and
                        fields according to the style guide
    config              Displays the current config. This is the result of all
                        loaded config and project files as well as overrides
                        from the command-line.

options:
  -h, --help            show this help message and exit
  -v, --verbose         increase verbosity
  --version             show program's version number and exit
  --quiet               be silent
  -c CONFIG_FILE, --config-file CONFIG_FILE
                        use specific config file instead of system-wide/local
                        config files
  -t TARGET, --target TARGET
                        specify target configuration to use (overrides config
                        file).
  --project PROJECT     specifies project name or file to use (hob.project)
  -w [WARNING [WARNING ...]], --warning [WARNING [WARNING ...]]
                        enable a warning flag, pick from all, field-id-gap,
                        field-id-sequence
  --pdb                 start python debugger on exceptions
  --profile FILE        profile a command using the python profiler, writes
                        result to specified file

Changelog

See http://bitbucket.org/scope/hob/wiki/Changelog or the CHANGELOG file in the top distribution directory.

Contact

Hob is maintained by the Opera Dragonfly team. The authors are:

Additional help from:

License

See the LICENSE file in the top distribution directory.

Release files for hob 0.3.3

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

Source distribution (sdist)

Source distribution for hob 0.3.3
File Size Uploaded
hob-0.3.3.zip 107.1 kB Details

Release files / hob-0.3.3.zip

Download URL hob-0.3.3.zip
Size 107.1 kB
Tags Source
SHA-256 checksum
How to use checksums
211c84b8affdd697dcad0f8a14b7b934eedfa0338d87cc353a06a9dfd215fa44
BLAKE2b-256 checksum
How to use checksums
549a952539ed6a3dfaa0d42cadebdba9902ed901c32cf260052317f96c43c627
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.3 This release

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3

1 release file

0.2.1

1 release file

0.2

1 release file

0.1

1 release file

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