Development Status :: 2 - Pre-Alpha

Bibscrap is still in its pre-alpha development phase. This is the earliest stage of software development. The project is still establishing its requirementa, and it contains code that is not yet feature-complete. For more information about what this means for Bibscrap 0.1.0-alpha.5, please refer to Versions in the API documentation.


Bibscrap 0.1.0-alpha.5 API

Definitions

Throughout the Bibscrap 0.1.0-alpha.5 API documentation, capitalized key words are used to signify various requirements related to the API specification. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119. Other capitalized key words that appear in this documentation SHOULD be interpreted as defined below.

INITIAL DEVELOPMENT
INITIAL DEVELOPMENT VERSION

A Bibscrap version of the form 0.Y.Z or 0.Y.Z-alpha.N is an initial development version. An INITIAL DEVELOPMENT version SHOULD NOT be considered STABLE as it MAY change at any time.

PRE-RELEASE
PRE-RELEASE VERSION

A Bibscrap version of the form X.Y.Z-alpha.N where X >= 1 is a pre-release version of its associated version, X.Y.Z, and MAY not satisfy the intended compatibility requirements described in the Public API of version X.Y.Z. A PRE-RELEASE version SHOULD NOT be considered STABLE.

STABLE
STABLE VERSION

A Bibscrap version of the form X.Y.Z is a stable version that meets the intended compatibility requirements described in its Public API.

Versions

The Bibscrap team makes every effort to use Semantic Versioning 2.0.0. Given a Bibscrap version number MAJOR.MINOR.PATCH[-alpha.PRE], its semantic components are MAJOR, MINOR, PATCH, and PRE. We only bump (i.e., increment) the semantic components of a Bibscrap version under specific scenarios, as described in the table below.

Semantic Version Components & Bump Scenarios

Component

Bump Scenario

MAJOR

Incompatible Public API changes are introduced.

MINOR

New functionality is introduced in a backwards compatible manner.

PATCH

Backwards compatible bug fixes are introduced.

PRE

Changes are introduced to a PRE-RELEASE.

When -alpha.PRE is present in a Bibscrap version number, it denotes a PRE-RELEASE. The Bibscrap team uses PRE-RELEASE versions to make some API changes, feature additions, and bug fixes available ahead of their associated STABLE or INITIAL DEVELOPMENT versions.

When MAJOR is zero in a Bibscrap version (e.g., 0.MINOR.PATCH[-alpha.PRE]), that denotes an INITIAL DEVELOPMENT version, regardless of its MINOR, PATCH, and PRE values.

Public API

Changes

Todo

After Bisbscrap 1.0.0 is released, all changes to the Public API will need to be be documented in order to comply with Semantic Versioning 2.0.0.

bibscrap

bibscrap - The top-level Bibscrap module.

New in version 1.0.0: Initial Public API release.

bibscrap.__version__: str = '0.1.0-alpha.5'

Bibscrap version number.

bibscrap.core

Defines the base APIs for Bibscrap, including its base models, collections, and events.

class bibscrap.core.Bibscrap

TODO.

Internal API

bibscrap.cli

bibscrap.cli - Bibscrap command-line interface (CLI) module.

bibscrap.cli.app

Defines the API for Bibscrap’s command-line interface (CLI) application.

class bibscrap.cli.app.Application

Bibscrap application class.

Construct a Bibscrap Application object.

Return type

None

property command_loader: bibscrap.cli.commands.CommandLoader

Return the application’s command loader.

register_builtin_command(command)

Register a builtin Bibscrap command.

Parameters

command (str) – The builtin command to register.

Return type

None

register_command(command, command_class, module=None, package=None)

Register a command with the command loader.

Parameters
  • command (str) – The command to register.

  • command_class (str) – The command’s Command class name.

  • module (Optional[str]) – The module containing the command’s Command class. If None, then command_class must be a fully qualified name.

  • package (Optional[str]) – Used to anchor the import when module is specified in relative terms.

Return type

None

unhide_completions_command()

Unhide the “completions” command provided by Cleo.

Return type

None

bibscrap.cli.app.main()

Execute Bibscrap’s command-line interface (CLI) application.

Return type

int

bibscrap.cli.commands

bibscrap.cli.commands - builtin Bibscrap commands.

class bibscrap.cli.commands.CommandLoader(factories={})

Bibscrap’s command loader using factories to instantiate commands lazily.

Construct a CommandLoader object.

Parameters

factories (Dict[str, Callable]) – A mapping from command names to their callable factories.

Return type

None

register_factory(command_name, factory)

Register a callable factory for a Bibscrap command.

Parameters
  • command_name (str) – Command name.

  • factory (Callable) – Command factory.

Return type

None

resolve(command_class, module=None, package=None)

Resolve the class name, module, and package for a Bibscrap command.

If module is None, then command_class is assumed to be the fully-qualified name (FQN) of the command’s class.

Parameters
  • command_class (str) – Command class name or FQN.

  • module (Optional[str]) – Module name.

  • package (Optional[str]) – Package name.

Return type

Tuple[str, str, Optional[str]]

bibscrap.util.config