Skip to main content

Dragon/CoCO Python Library

tests codecov dragonlib @ PyPi Python Versions License GPL-3.0-or-later

Python Modules/Tools Open source (GPL v3 or later) for 6809 based homecomputer like:

Used in:

  • DragonPy - Emulator for 6809 CPU based system like Dragon 32 / CoCo written in Python:
  • DwLoadServer - DWLOAD server implemented in Python

Start hacking

~$ git clone https://github.com/6809/dragonlib.git
~$ cd dragonlib
~/dragonlib$ ./cli.py --help

Looks like: comment: <> (✂✂✂ auto generated main help start ✂✂✂)

Usage: ./cli.py [OPTIONS] COMMAND [ARGS]...

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
│ --help      Show this message and exit.                                                          │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────────────────╮
│ update-readme-history      Update project history base on git commits/tags in README.md          │
│ version                    Print version and exit                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯

TODO: Expand the CLI ;)

Development CLI

Start the dev CLI, e.g.:

~/dragonlib$ ./dev-cli.py --help

Looks like:

Usage: ./dev-cli.py [OPTIONS] COMMAND [ARGS]...

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────╮
│ --help      Show this message and exit.                                                          │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────────────────╮
│ check-code-style            Check code style by calling darker + flake8                          │
│ coverage                    Run tests and show coverage report.                                  │
│ fix-code-style              Fix code style of all cli_base source code files via darker          │
│ install                     Run pip-sync and install 'cli_base' via pip as editable.             │
│ mypy                        Run Mypy (configured in pyproject.toml)                              │
│ pip-audit                   Run pip-audit check against current requirements files               │
│ publish                     Build and upload this project to PyPi                                │
│ test                        Run unittests                                                        │
│ tox                         Run tox                                                              │
│ update                      Update "requirements*.txt" dependencies files                        │
│ update-test-snapshot-files  Update all test snapshot files (by remove and recreate all snapshot  │
│                             files)                                                               │
│ version                     Print version and exit                                               │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯

History

  • v0.2.0
    • 2024-09-24 - Setup README and tests for it
    • 2024-09-24 - Add github action
    • 2024-09-24 - Activate pre-commit hooks on install
    • 2024-09-24 - Reformat with black and fix old code parts
    • 2024-09-24 - Add .editorconfig
    • 2024-09-24 - Run pyupgrade
    • 2024-09-24 - Modernize Project Setup
  • v0.1.7
    • 2015-08-21 - Bugfix logging, remove six and code cleanup
    • 2015-08-19 - remove obsolete code + run tests also with pypy3
  • v0.1.6
    • 2015-08-19 - +AUTHORS
    • 2015-08-19 - add test for BasicLexer
    • 2015-08-19 - use nose to run unittests
    • 2015-08-19 - update travis config
    • 2015-08-19 - Bugfix disable logging:
  • v0.1.5
    • 2015-05-26 - fixup! WIP: support PY2, too
    • 2015-05-26 - WIP: support PY2, too
    • 2015-05-26 - TODO: Add Support for Python 2 and PyPy
    • 2015-05-26 - disable pypy test :(
Expand older history entries ...
  • v0.1.4
    • 2015-05-26 - bugfix for ReSt
    • 2015-05-26 - TODO python 2 support!
    • 2015-05-26 - add "publish" in setup.py
    • 2015-05-26 - add links to travis/coveralls
    • 2015-05-26 - add a AUTOLOAD.DWL for unittest
    • 2015-05-26 - Bugfix: don't print new lines etc.
    • 2015-05-26 - exclude undone test
    • 2015-05-26 - test_suite="dragonlib.tests.get_tests"
    • 2015-05-26 - update meta files
  • v0.1.3
    • 2014-12-15 - add a pygments lexer
    • 2014-11-20 - better error message
    • 2014-11-20 - use string.printable
  • v0.1.2
    • 2014-11-19 - Bugfix/enhanced the whole binary stuff and add more unittests
    • 2014-11-18 - WIP: add unittest for BinaryFile()
    • 2014-11-18 - bugfix in log_bytes()
    • 2014-11-18 - Bugfix parse binary files
    • 2014-11-17 - FIXME
    • 2014-11-17 - that's enough
    • 2014-11-17 - more robust
    • 2014-11-17 - less debug
    • 2014-11-17 - display log settings
  • v0.1.1
    • 2014-11-15 - lower some log output
    • 2014-11-15 - add api.bas2bin() too
    • 2014-11-15 - Add for converting Dragon DOS Binary to ASCII listing
    • 2014-11-13 - create a package
    • 2014-11-13 - update README
    • 2014-11-13 - Initial commit
    • 2014-11-13 - move LOG_LEVELS
    • 2014-09-30 - WIP: BASIC editor: reformat code
    • 2014-09-30 - add more info
    • 2014-09-30 - Bugfix
    • 2014-09-30 - Bugfix renum tool + renum INVADER.bas
    • 2014-09-30 - Bugfix if line number > $ff
    • 2014-09-30 - Add a more informative "display tokens" window
    • 2014-09-22 - Don't raise error, if dump doesn't include address...
    • 2014-09-22 - Better default log formatter
    • 2014-09-18 - change logging setup
    • 2014-09-13 - Update unittests in dragonlib, too.
    • 2014-09-13 - bugfix six.moves.xrange
    • 2014-09-13 - use xrange from six.py
    • 2014-09-12 - replace own lib2and3 with six
    • 2014-09-12 - WIP: refactor logging usage
    • 2014-09-11 - better tracebacks by using reraise
    • 2014-09-04 - remove from future import unicode_literals
    • 2014-09-04 - bugfix string.letters vs. string.ascii_letters
    • 2014-09-03 - chnages to support python 2 and 3 with the same code
    • 2014-09-03 - changes to run with python2 and future imports
    • 2014-09-03 - just run 2to3 script
    • 2014-08-28 - Highlight line numbers and more the just one
    • 2014-08-28 - First, simple code highlighting
    • 2014-08-28 - Don't consume spaces between line number and code
    • 2014-08-27 - reimplement the CLI, today only for Dragon32/64 and CoCo
    • 2014-08-27 - Bugfix: CoCo used the same default start address
    • 2014-08-27 - update CoCo tokens with Extended Color BASIC 1.1
    • 2014-08-20 - CoCo used a other default program start address than dragon
    • 2014-08-20 - + 0xff80: "SGN"
    • 2014-08-20 - WIP: Support CoCo in editor
    • 2014-08-20 - do the ' <-> :' and ELSE <-> :ELSE replacement internaly
    • 2014-08-20 - Use the new BASIC parser - TODO: Code cleanup!
    • 2014-08-20 - convert line number to int
    • 2014-08-20 - rename format functions
    • 2014-08-20 - add a BASIC parser with unittests
    • 2014-08-20 - code formating
    • 2014-08-18 - Add TODO unittests
    • 2014-08-18 - Better debug output
    • 2014-08-18 - better log output while load/inject BASIC program
    • 2014-08-18 - Bugfix: support ON...GOTO and ON...GOSUB in renumbering
    • 2014-08-17 - add another renum unittest +code cleanup
    • 2014-08-17 - add "renumber listing" tool in editor
    • 2014-08-17 - TODO: Don't replace reversed words into tokens in comments and strings.
    • 2014-08-16 - Bugfix in inject BASIC program:
    • 2014-08-16 - WIP: move dump/load stuff into editor
    • 2014-08-15 - WIP: start splitting project: add "dragonlib"

Metadata

Release files for dragonlib 0.2.0

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

Source distribution (sdist)

Source distribution for dragonlib 0.2.0
File Size Uploaded
dragonlib-0.2.0.tar.gz 90.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dragonlib 0.2.0
File Interpreter ABI Platform
dragonlib-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 148.8 kB

Release files / dragonlib-0.2.0.tar.gz

Download URL dragonlib-0.2.0.tar.gz
Size 90.1 kB
Tags Source
SHA-256 checksum
How to use checksums
63f0d40da800afdd8db0dce2bf4c1f24de0d66c7aa52b1012beb257716cd3506
BLAKE2b-256 checksum
How to use checksums
9aad483599cf5eb835a44270c2ae794f5df466aea1be51a694586815ac889725
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.3

Release files / dragonlib-0.2.0-py3-none-any.whl

Download URL dragonlib-0.2.0-py3-none-any.whl
Size 58.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be243060acb7b7f24cc6fd1f9a39e5bae978b7c49a3065d851c4176a18f1e3d2
BLAKE2b-256 checksum
How to use checksums
0681dc68e165b85a6f36c34e8fd0834b06d4e06dc9bef9bef3bf0f842d03931c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.7

3 release files

0.1.6

3 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

1 release file

0.1.2

1 release file

0.1.0

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