Skip to main content

Generate a visual map of your codebase

Project description

Megamap

Megamap is a mega awesome version of the minimap feature of text editors like Sublime. Give megamap a directory full of source code, and it will produce a PNG image which is a beautiful birdseye view of all the source code.

Installation

pip install megamap

Usage

megamap [input_directory] [output_filename]

Optional arguments:

-h, --help            Show this help message and exit
-v, --verbose         Enable verbose output
-q, --quiet          Suppress all output except errors
--version            Show program version number and exit
--list-styles        List available syntax highlighting styles and exit
-a, --aspect-ratio   Target aspect ratio (width/height) for output image (default: 1.5)
-b, --banner         Enable banner mode (sets aspect ratio to 5.0)
--include-hidden     Include hidden files and directories in the map
-s, --style          Syntax highlighting style (use "random" for random style)
-z, --zebra          Enable zebra striping of background colors between files
-c, --cols           Number of columns per page (default: 80)
-x, --scale          Pixel scale factor (must be integer, default: 1)

The program will automatically:

  • Skip common non-code files (LICENSE, README, etc.)
  • Skip files with non-code extensions (.txt, .md, .json, etc.)
  • Skip binary and non-text files
  • Skip files without a valid syntax highlighter

Pretty pictures

These two images were created using the same input (this program's own source code) with different parameters:

Source code of entire projects can be elegantly illustrated:

FAQ

How are the files sorted?

The files are sorted alphabetically by directory and then by file name, with files in the base directory first.

How do I find out what all the syntax highlighting styles are called?

You can either:

  1. Run megamap --list-styles to see all available styles
  2. Use random as the style to let megamap choose one randomly

What about word wrapping?

Not currently supported.

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

megamap-1.0.0.tar.gz (97.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

megamap-1.0.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file megamap-1.0.0.tar.gz.

File metadata

  • Download URL: megamap-1.0.0.tar.gz
  • Upload date:
  • Size: 97.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for megamap-1.0.0.tar.gz
Algorithm Hash digest
SHA256 4afd1dd9bb6b594dba3c513c85ba9f86b8338855b62536d656f6312e65baa057
MD5 e3e97622922d76dec2d3c584314b9f73
BLAKE2b-256 781003240d63f73867449130b79cb2ac2df84b366b33c6db44c3b5ae0eff771f

See more details on using hashes here.

File details

Details for the file megamap-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: megamap-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for megamap-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5af1d01f29a77d2ba3ee08ecf90771e105ddf56f11da3d368c09dd75c0b248aa
MD5 3a812fa1a8d0b323d93d5464ea322d0e
BLAKE2b-256 4fd477a03f872e9c46caef8e4a440712d2fb1b64f222ff371353347219be08ca

See more details on using hashes here.

Supported by

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