Skip to main content

Nautilus

nautilus turns a collection of documents into a browsable ZIM file.

CodeFactor License: GPL v3 codecov PyPI version shields.io PyPI - Python Version Docker

It downloads the video (webm or mp4 format – optionally recompress it in lower-quality, smaller size), the thumbnails, the subtitles and the authors' profile pictures ; then, it creates a static HTML files folder of it before creating a ZIM off of it.

Preparing the archive

To be used with nautilus, your archive should be a ZIP file.

  • it doesn't need to be structured, but it can.
  • it doesn't need to be compressed. It's usually recommended not to.
  • it should contain a collection.json file, but it can also be provided separately (see below).
  • it should only contain to-be-included files. No filtering is done.
  • Audio and video files should be in ogg format with an .ogg/.ogv extension to be supported on all platforms (mp3/mp4 would work only on platforms with native support).
cd content/path
zip -r -0 -T ../content_name.zip *

JSON collection file

Either inside the archive ZIP as /collection.json or elsewhere, specified via --collection mycollection.json, you must supply a JSON file describing your content.

The user-interface only gives access to files referenced properly in the collection.

At the moment, the JSON file needs to provide the following fields for each item in an array:

[
    {
        "title": "...",
        "description": "...",
        "authors": "...",
        "files": ["relative/path/to/file"]
    },
    {
        "title": "...",
        "description": "...",
        "authors": "...",
        "files": [
            {
                "archive-member": "01 BOOK for printing .pdf",  // optional, member name inside archive (same as simpler format)
                "url": "http://books.com/310398120.pdf",  // optional, has precedence over `archive-member`, url to download file from
                "filename": "My book.pdf",  // optional, filename to use in ZIM, regardless of original one
            }
        ]
    }
]

About page

Either inside the archive ZIP as /about.html or elsewhere, specified via --about myabout.html,

  • You may supply an about page in HTML format. It will be displayed in a modal popup and will be included.
  • At its bottom your secondary-logo if provided.
  • Use only content tags (no <html /> nor <head /> nor <script /> etc)
  • Use inline styling if required, but no styling is recommended.
  • Include one logo inline if required.

Usage

❯ nautuluszim --help
usage: nautuluszim [-h] [-V]

# everything bundled in a ZIP
nautiluszim --archive my-content.zip

# In this mode every file entry must have a valid url.
nautiluszim --collection https://example.com/to-your-collection-file

Installation

You'd want to install it in a dedicated virtual-environment (python3 -m venv some-env && source ./some-env/bin/activate)

❯ pip install nautiluszim

Contributing

❯ pip install -e .

Notes

  • On macOS, the locale setting is buggy. You need to launch it with the LANGUAGE environment variable (as ISO-639-1) for the translations to work.
LANGUAGE=fr nautiluszim --language fra

Nautilus adheres to openZIM's Contribution Guidelines.

Nautilus has implemented openZIM's Python bootstrap, conventions and policies v1.0.0.

Metadata

Release files for nautiluszim 1.2.1

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

Source distribution (sdist)

Source distribution for nautiluszim 1.2.1
File Size Uploaded
nautiluszim-1.2.1.tar.gz 46.7 kB Details

Built distribution (wheel)

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

Total release size: 90.4 kB

Release files / nautiluszim-1.2.1.tar.gz

Download URL nautiluszim-1.2.1.tar.gz
Size 46.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fa7ae7d6462f005336e8aa4c2b24489509b0e0c8d92f07a2c9629afb901b7cc2
BLAKE2b-256 checksum
How to use checksums
bfd481ac92b4e82af1b571a26243ace5dc7d1f18846e3980e1bc17b5dd55ee8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / nautiluszim-1.2.1-py3-none-any.whl

Download URL nautiluszim-1.2.1-py3-none-any.whl
Size 43.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60cf62ac0aa1880eaff96814e9172407958f5e91555969a7193054d3f0ba466e
BLAKE2b-256 checksum
How to use checksums
c3b8e2184ad31e25f3626b2ec2352a9df0838ecf860878162d3b988fdbf460c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.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