Skip to main content

TFTP Driver

jumpstarter-driver-tftp provides functionality for a read-only TFTP server that can be used to serve files.

Installation

:substitutions:
$ pip3 install --extra-index-url {{index_url}} jumpstarter-driver-tftp

Configuration

Example configuration:

export:
  tftp:
    type: jumpstarter_driver_tftp.driver.Tftp
    config:
      root_dir: /var/lib/tftpboot        # Directory to serve files from
      host: 192.168.1.100                # Host IP to bind to (optional)
      port: 69                           # Port to listen on (optional)
      remove_created_on_close: true      # Clean up temporary boot files (default)

Config parameters

Parameter Description Type Required Default
root_dir Root directory for the TFTP server str no "/var/lib/tftpboot"
host IP address to bind the server to str no auto-detect
port Port number to listen on int no 69
remove_created_on_close Automatically remove created files/directories when driver closes bool no true

File Management

The TFTP server driver automatically tracks files and directories created during the session. By default, remove_created_on_close is set to true to clean up temporary boot files automatically. Set to false if you want to preserve boot files and firmware images that are reused across sessions.

API Reference

.. autoclass:: jumpstarter_driver_tftp.client.TftpServerClient()
   :members:
   :show-inheritance:

Exception Classes

.. autoclass:: jumpstarter_driver_tftp.driver.TftpError
   :members:
   :show-inheritance:

.. autoclass:: jumpstarter_driver_tftp.driver.ServerNotRunning
   :members:
   :show-inheritance:

Examples

>>> import tempfile
>>> import os
>>> from jumpstarter_driver_tftp.driver import Tftp
>>> from jumpstarter.common.utils import serve
>>> with tempfile.TemporaryDirectory() as tmp_dir:
...     # Create a test file
...     test_file = os.path.join(tmp_dir, "test.txt")
...     with open(test_file, "w") as f:
...         _ = f.write("hello")
...
...     # Start TFTP server
...     with serve(Tftp(root_dir=tmp_dir, host="127.0.0.1", port=6969)) as tftp:
...         tftp.start()
...
...         # List files
...         files = list(tftp.storage.list("/"))
...         assert "test.txt" in files
...
...         tftp.stop()

Release files for jumpstarter-driver-tftp 0.9.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 jumpstarter-driver-tftp 0.9.0
File Size Uploaded
jumpstarter_driver_tftp-0.9.0.tar.gz 13.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jumpstarter-driver-tftp 0.9.0
File Interpreter ABI Platform
jumpstarter_driver_tftp-0.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.2 kB

Release files / jumpstarter_driver_tftp-0.9.0.tar.gz

Download URL jumpstarter_driver_tftp-0.9.0.tar.gz
Size 13.1 kB
Tags Source
SHA-256 checksum
How to use checksums
01dde56d953563f3ed886d37046fd3f912f9c19a5d9c7f39ed3f443db6f03357
BLAKE2b-256 checksum
How to use checksums
35c2b4a724752fb3758f6522640ca82b29bbbc7120b2519b9aa9a3dacacd0d84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Release files / jumpstarter_driver_tftp-0.9.0-py3-none-any.whl

Download URL jumpstarter_driver_tftp-0.9.0-py3-none-any.whl
Size 14.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a7a928be30a61fd3497d6ac0a81c01e413bcfd2f8d1340c05c4ece3d23697eaa
BLAKE2b-256 checksum
How to use checksums
cbf5b24fc37321d860994fe0da4fd0e36ddf3c01835f341934da3c7ed81b44a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

0.8.1

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

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