Skip to main content

A module and utility to work with the simple filesystem on the BBC micro:bit

Project description

MicroFS

A simple command line tool and module for interacting with the limited file system provided by MicroPython on the BBC micro:bit.

Installation

To install simply type:

$ pip install microfs

…and the package will download from PyPI. If you wish to upgrade to the latest version, use the following command:

$ pip install --no-cache --upgrade microfs

Usage

There are two ways to use microfs - as a module in your Python code or as a stand-alone command to use from your shell (ufs).

In Code

In your Python script import the required functions like this:

from microfs import ls, rm, put, get, get_serial

Read the API documentation below to learn how each of the functions works.

Command Line

From the command line (but not the Python shell) use the “ufs” (“u” = micro) command.

To read the built-in help:

$ ufs --help

List the files on the device:

$ ufs ls

Delete a file on the device:

$ ufs rm foo.txt

Copy a file onto the device:

$ ufs put path/to/file.txt

Get a file from the device:

$ ufs get foo.txt

Development

The source code is hosted in GitHub. Please feel free to fork the repository. Assuming you have Git installed you can download the code from the canonical repository with the following command:

$ git clone https://github.com/ntoll/microfs.git

Ensure you have the correct dependencies for development installed by creating a virtualenv and running:

$ pip install -r requirements.txt

To locally install your development version of the module into a virtualenv, run the following command:

$ python setup.py develop

There is a Makefile that helps with most of the common workflows associated with development. Typing “make” on its own will list the options thus:

$make

There is no default Makefile target right now. Try:

make clean - reset the project and remove auto-generated assets.
make pyflakes - run the PyFlakes code checker.
make pep8 - run the PEP8 style checker.
make test - run the test suite.
make coverage - view a report on test coverage.
make check - run all the checkers and tests.
make package - create a deployable package for the project.
make publish - publish the project to PyPI.
make docs - run sphinx to create project documentation.

Release History

1.2.0

  • API CHANGE the serial object passed into command functions is optional.

  • API CHANGE call signature changes on command functions.

1.1.2

  • Allow external modules to use built-in device detection and connection.

1.1.1

  • Unlink command logic from device detection and serial connection.

1.1.0

  • Fix broken ‘put’ and ‘get’ commands to work with arbitrary file sizes.

  • Fix error when working with binary data.

  • Update execute function to work with lists of multiple commands.

  • Minor refactor to extract raw mode related code.

  • Updated tests to keep coverage at 100% on both Python 2 and Python 3.

1.0.2

  • Remove spare print call.

1.0.1

  • Fix broken setup.

1.0.0

  • Full implementation of all the expected features.

  • 100% test coverage.

  • Comprehensive documentation.

0.0.1

  • Initial release. Basic functionality.

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

microfs-1.2.0.tar.gz (6.4 kB view details)

Uploaded Source

File details

Details for the file microfs-1.2.0.tar.gz.

File metadata

  • Download URL: microfs-1.2.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for microfs-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d117b7f1e6a634c0dddb20669a2633fc18372cf786e10419de893db0577def86
MD5 9001872115ecbced3581839b9c3a7d21
BLAKE2b-256 6f1771a6dc2af3910276c6ddab20c3155f487b1648d49cb566866ff42b321720

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