Skip to main content

Library around 6809 computers like Dragon 32/64, CoCo...

Project description

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"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dragonlib-0.2.0.tar.gz (90.1 kB view details)

Uploaded Source

Built Distribution

dragonlib-0.2.0-py3-none-any.whl (58.7 kB view details)

Uploaded Python 3

File details

Details for the file dragonlib-0.2.0.tar.gz.

File metadata

  • Download URL: dragonlib-0.2.0.tar.gz
  • Upload date:
  • Size: 90.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for dragonlib-0.2.0.tar.gz
Algorithm Hash digest
SHA256 63f0d40da800afdd8db0dce2bf4c1f24de0d66c7aa52b1012beb257716cd3506
MD5 feb87829d0b3a533237560a2f7407e0c
BLAKE2b-256 9aad483599cf5eb835a44270c2ae794f5df466aea1be51a694586815ac889725

See more details on using hashes here.

File details

Details for the file dragonlib-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dragonlib-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 58.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for dragonlib-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be243060acb7b7f24cc6fd1f9a39e5bae978b7c49a3065d851c4176a18f1e3d2
MD5 603117b5859aafde4bce49249eb173ca
BLAKE2b-256 0681dc68e165b85a6f36c34e8fd0834b06d4e06dc9bef9bef3bf0f842d03931c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page