Skip to main content

🐒 ExpMonkey: Unleash Your Experiments with Git Magic! 🍌

Welcome to ExpMonkey, the nimble experiment management tool that transforms the way you handle your research and development projects. By harnessing the power of git worktrees, ExpMonkey offers a command-line sanctuary for your branches, treating each one as a unique adventure in the jungle of innovation. Ready to swing from experiment to experiment with the grace of a seasoned primate? 🌿 Let's dive in!

🌟 Spotlight Features

Embark on a journey with ExpMonkey and discover a world where managing multiple experiments feels like a walk in the park:

  • 🍌 Parallel Universe Workflow: Each git branch becomes an alternate reality, with its own directory to tinker in. Work on multiple fronts without ever tangling your vines.

  • 🍌 Jungle Gym Navigation: Leap between branches with a simple command. It's like having a map of the entire jungle at your fingertips.

  • 🍌 Git Sorcery Enhanced: ExpMonkey casts a spell on the standard git rituals, streamlining branch antics and conjuring up tools specifically for the experimental alchemist.

  • 🍌 Branch Alchemy: Transmute, clone, and compare experiments with the dexterity of a monkey's tail, all thanks to ExpMonkey's clever branch wizardry.

  • 🍌 Chant Autocompletion: Invoke the spirits of speed and precision with our autocompletion incantations, banishing typos to the shadow realm.

  • 🍌 Fuzzy Oracle Integration: Consult the fzf oracle for visions of branches and commits, selecting your path with the clarity of a shaman's trance.

📜 Prerequisites

Before you embark on this quest, ensure you have the following relics:

  • Python 3.x
  • Git
  • Optional: fzf for an enhanced soothsaying interface

🛠 Installation: Summoning ExpMonkey

Invoke ExpMonkey into your realm with these ancient incantations:

  1. Conjure the Python package:
pip3 install expmonkey
  1. (Optional) Weave em-init-script into your shell's tapestry for autocompletion and arcane abilities:
echo 'eval "$(em-init-script)"' >> ~/.bashrc
  1. (Optional) Summon fzf for a mystical user experience:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

Consult the fzf grimoire for more details.

📗 Grimoire of Usage

Harness the power of ExpMonkey as you navigate the treacherous terrain of experiments:

🌱 Sprout a New Repository

em clone git@github.com:megvii-research/RevCol.git

📜 Parchment of Experiments

em ls -as

🌿 Branch Out with Forks

em cp <base-branch-name> <new-branch-name>

🚀 Propel Your New Creation

em cd <new-branch-name>
# Enchant with your changes
em push

🧙‍♂️ Command Incantations

The Dot Trick 🐒🐒🐒

ExpMonkey's eyes gleam when spotting a .. Behold the magic:

🕳️ Conjure from the Void

Create an empty experiment:

em empty <branch-name>

🔍 Scrying List

Peer into the branches:

em ls # unveil local branches
em ls <filter-regex> # filter through local branches
em ls -as # reveal remote branches with status

em ls -as illuminates branches with enchanted hues:

Color Meaning
Red Distant Lands (Remote)
White Uncharted (Not Checked out)
Blue Whispering Winds (Not Pushed)
Yellow Altered Realms (Modified)
Normal Harmony (Clean)

em ls is a swift spell, while em ls -as consults distant spirits, requiring more time.

🌟 Starry Copy

Craft a new branch from existing strands of fate:

em cp <Tab> <target-branch-name> # divine local branches
em cp .r<Tab> <target-branch-name> # divine all branches
em cp <base-branch-name> .<Tab> # scribe as base-branch-name
em cp .<Tab> <target-branch-name> # scribe as current-branch-name
em cp . <target-branch-name> # duplicate current branch

🌀 Portal to Another Branch

Step into another experiment:

em co <Tab> # divine local branches
em co .r<Tab> # divine all branches
em co <branch-name> # step through the portal

🗑️ Banish an Experiment

Cast away an unwanted branch:

em rm <branch-name> # banish branch
em rm . # banish current branch

🌌 Push to the Cosmos

Send your experiment into the vast unknown:

em push # launch it skyward

📛 Rename Your Destiny

Alter the name of your journey:

em mv <current-branch-name> <target-branch-name>

🔮 Gaze into Differences

Witness the divergence between realms:

em diff <branch1> <branch2>

📜 License

This project is a tome of knowledge, open to all seekers under the MIT License.

Metadata

Release files for expmonkey 0.0.35

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

Source distribution (sdist)

Source distribution for expmonkey 0.0.35
File Size Uploaded
expmonkey-0.0.35.tar.gz 12.4 kB Details

Built distribution (wheel)

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

Total release size: 23.8 kB

Release files / expmonkey-0.0.35.tar.gz

Download URL expmonkey-0.0.35.tar.gz
Size 12.4 kB
Tags Source
SHA-256 checksum
How to use checksums
bc988fccbc03e6905a9de46513487892ca0dc587371d11c78811096448cb4f93
BLAKE2b-256 checksum
How to use checksums
9625b7d9ed0fb11d755270e3160d65a8829f9e5cad3472227e22c45871ca176d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.13

Release files / expmonkey-0.0.35-py3-none-any.whl

Download URL expmonkey-0.0.35-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e09545a8aed11e78ea0aa567294a1c34dd3c497fa227c54b6aa8a8153f7b930
BLAKE2b-256 checksum
How to use checksums
928432ea0b738b0a002f98c1e99f9f31f1d119284a71e7afea03387bb56b8789
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.13

Release history Release notifications | RSS feed

This release

0.0.35 This release

2 release files

0.0.34

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