• Stars
    star
    4
  • Rank 3,216,864 (Top 66 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 6 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Small commandline tool for `virtualenvwrapper`

Version Go Documentation Go Report Card Build Status Go Build Status GolangCI-Lint Status Docker Lint Status Docker Build Status

List Virtual Environments for virtualenvwrapper

If you use virtualenvwrapper you’ll love this :)

Due to virtualenvwrapper’s lsvirtualenv’s super slow speed and lack of information, I made this simple cli-tool with golang.


Requirements

I’m assuming that you are already using virtualenvwrapper and you have WORKON_HOME environment variable is already exists in your shell environment.


Installation

You can install from the source;

$ go install github.com/vigo/lsvirtualenvs@latest

This will build and install binary of lsvirtualenvs under $GOPATH/bin path.

or, you can install from brew:

$ brew tap vigo/lsvirtualenvs
$ brew install lsvirtualenvs

Build from source

Check your go env GOPATH then check sources;

$ ls "$(go env GOPATH)/src/"
cloud.google.com  github.com  go.opencensus.io  golang.org  google.golang.org

# if github.com does not exists, create the folder via
# $ mkdir "$(go env GOPATH)/src/github.com"

$ mkdir "$(go env GOPATH)/src/github.com/vigo" # need for run/build operations
$ cd "$(go env GOPATH)/src/github.com/vigo"
$ git clone [email protected]:vigo/lsvirtualenvs.git
$ cd lsvirtualenvs/
$ go build
$ ls "$(go env GOPATH)/bin" # you should see `lsvirtualenvs` binary
$ lsvirtualenvs -h

Usage

$ lsvirtualenvs -h

usage: lsvirtualenvs [-flags]

lists existing virtualenvs which are created via "mkvirtualenv" command.

  flags:

  -c, -color          enable colored output
  -s, -simple         just list environment names, overrides -c, -i
  -i, -index          add index number to output
      -version        display version information (X.X.X)

Usage examples:

$ lsvirtualenvs -h
$ lsvirtualenvs -c
$ lsvirtualenvs -color
$ lsvirtualenvs -c -i
$ lsvirtualenvs -color -index
$ lsvirtualenvs -s
$ lsvirtualenvs -simple

Example output:

$ lsvirtualenvs
you have 2 environments available

textmate................... 3.8.0
trash...................... 3.8.0

$ lsvirtualenvs -i
you have 2 environments available

[0001] textmate................... 3.8.0
[0002] trash...................... 3.8.0

$ lsvirtualenvs -c -i # colored output with index

Run tests via;

$ go test -v ./...

Docker

https://hub.docker.com/r/vigo/lsvirtualenvs/

Note that, lsvirtualenvs requires WORKON_HOME environment variable which is not available inside of the docker container :) This is just an example / concept of dockerized version of the application :)

$ docker run --read-only -v "${WORKON_HOME}":/venvs --env WORKON_HOME=/venvs vigo/lsvirtualenvs
$ docker run --read-only -v "${WORKON_HOME}":/venvs --env WORKON_HOME=/venvs vigo/lsvirtualenvs -h

If you run it from container, currently, it’s not possible to get python versions of the existing environments.


Rake Tasks

$ rake -T

rake default            # show avaliable tasks (default task)
rake docker:lint        # lint Dockerfile
rake release[revision]  # release new version major,minor,patch, default: patch
rake test[verbose]      # run tests

Change Log

2022-07-09

  • Add docker build/push action
  • Fix docker platform issue

2022-02-24

  • Dockerfile is lint-free now!
  • lsvirtualenvs runs perfectly from container now!

2022-02-15

  • Add LSVIRTUALENVS_COLOR_ALWAYS environment variable check. Set LSVIRTUALENVS_COLOR_ALWAYS=1 for colored output all the time
  • Add GolangCI-Lint checker

2021-05-09

  • Add github action for go build status
  • Changed master branch to main
  • Add missing information to -h help
  • Add Rake tasks

2021-01-06

  • Complete make-over from scratch, removed sync.Map(), used channels
  • Fix information on README

2018-07-05

  • Due to @fatih’s warning, removed Lock() and used sync.Map()
  • Version 2.1.1

2018-07-04

  • App refactored
  • Unit tests are completed
  • Version 2.0.1

2018-07-02

  • Basic unit testing

2018-07-01

  • Code refactor

2018-06-29

  • First release
  • Addition: --version

2018-06-28

  • Initial commit

Contributor(s)


Contribute

All PR’s are welcome!

  1. fork (https://github.com/vigo/lsvirtualenvs/fork)
  2. Create your branch (git checkout -b my-feature)
  3. commit yours (git commit -am 'Add garlic and yogurt')
  4. push your branch (git push origin my-feature)
  5. Than create a new Pull Request!

License

This project is licensed under MIT


More Repositories

1

git-puf-noktalari

Günlük hayatta kullandığımız revizyon kontrol sistemi GIT ile ilgili küçük ipuçlarını anlatan yeni mini kitabım.
Ruby
425
star
2

kommit

Build your commit message without touching or editing your code!
Shell
204
star
3

ruby101-kitap

Türkçe Ruby kitabı
Ruby
196
star
4

dinozorus

1990'lı yıllara damgasını vuran efsane televizyon oyunu Dinozorus. Amiga 1200 - AGA
Assembly
131
star
5

turk-scene-tarihi

80'lerin ortasında başlayan, günümüz bilgisayar kültürünün neredeyse başlangıç noktası olan Türk SCENE/DEMOSCENE tarihçesi
86
star
6

lyk-2017

Linux Yaz Kampı 2017'de anlattığım konular.
41
star
7

django2-project-template

Django project/application starter for lazybones :)
Python
40
star
8

textmate-twitterbootstrap.tmbundle

TextMate bundle for Twitter's Bootstrap
HTML
33
star
9

statoo

`statoo` is a super simple http GET tool for checking site health
Go
32
star
10

awesome-c64

Commodore 64 related links such as C64 tools for Mac/Linux/PC, demoscene related stuff, coding tools, C64 utilities etc...
30
star
11

textmate-octopress.tmbundle

TextMate bundle for Octopress blog engine. http://octopress.org/
29
star
12

gh_issues

Manage GitHub issues from command-line (read only!)
Ruby
22
star
13

dotfiles-light

Just another but `lighter` version of BASH environment
Shell
18
star
14

dotfiles-universal

My old BASH dot-files... Try new one!
Shell
13
star
15

textmate2-python-fmt

Python FMT is a python linter/formatter/checker for TextMate.
Ruby
13
star
16

textmate2-gfm-preview

GitHub Flavored Markdown Preview for TextMate 2
CSS
12
star
17

django-project-template

Project starter for Django 1.11.4 ... Batteries included :)
Python
10
star
18

textmate-hosts.tmbundle

TextMate bundle for /etc/hosts file
9
star
19

dotfiles-fever

Elegant BASH environment for macOS, Ubuntu and Gentoo
Shell
8
star
20

textmate-window-manager

Window manager/arranger for oldskool TextMate (1.5)
Shell
7
star
21

django-admin-list-filter

Dead simple autocompletion for Django admin `list_filter`.
JavaScript
6
star
22

apm-bash-completion

Bash completion for Atom Package Manager (apm)
Shell
6
star
23

stormssh-completion

Bash competion for `sshstorm` (https://github.com/emre/storm)
Shell
6
star
24

devpod

Official website of devPod
HTML
6
star
25

textmate2-ruff-linter

Ruff linter for TextMate2. Linter and auto fixer for python!
Ruby
5
star
26

ugur.ozyilmazel.com-v5

Kişisel websitem V4.0
HTML
5
star
27

ghstars

Show GitHub stars count for user!
Go
4
star
28

git-init-githubrepo

Create git repository for GitHub style
Go
4
star
29

golang-notlarim

Golang geliştirme ile ilgili aldığım notlar
Ruby
4
star
30

git-tips

Git versiyon kontrol sistemi ile ilgili Türkçe dökümantasyon ve ipuçları
JavaScript
4
star
31

dox2008

2007-2008 yıllarında İstanbul Bilgi Üniversitesi, web departmanı için hazırladığım javascript ve html/css eğitimleri
JavaScript
4
star
32

textmate2-power-tools

Some useful TextMate2 snippets, commands etc...
Ruby
3
star
33

inspect-go

Ruby-ish Object#inspect tryouts for Golang!
Go
3
star
34

putio

Command-Line client for put.io platform (unofficial)
Go
3
star
35

textmate2-64tass-bundle

64tass Bundle for TextMate 2
2
star
36

sayisal_captcha

Çok basit şekilde iki basamaklı sayılardan random toplama ya da çarpma üreten bir sistem
Ruby
2
star
37

learning-stimulus-02

I'm learning stimulus, this is example 02
JavaScript
2
star
38

vigo

I'm a hustler baby!
2
star
39

textmate2-gomodifytags

TextMate2 implementation of Fatih’s gomodifytags
Shell
2
star
40

vigo.io

Personal website
HTML
2
star
41

els

Unix `ls` command alternative via Ruby :)
Ruby
2
star
42

pg16_django

3. Programlama Günleri / Karabük - Django ile tanışma
Python
2
star
43

ruby101-kitap-kod

Ruby101 kitabında geçen kod örnekleri
2
star
44

learning-stimulus-01

I'm learning stimulus, this is example 01
JavaScript
1
star
45

textmate2-bootstrap3

Bootstrap 3's helpers for TextMate2
1
star
46

uptimerobot_cmd

Command-line client for Uptimerobot service
Ruby
1
star
47

stringutils-demo

A basic golang package for demo purpose only...
Go
1
star
48

textmate1-twitter-bs3.tmbundle

Twitter Bootstrap 3 bundle for TextMate1 (yes the oldest TextMate)
1
star
49

try_git

1
star
50

homebrew-statoo

brew tap repo for `statoo`
Ruby
1
star
51

homebrew-git-init-githubrepo

brew tap for `git-init-githubrepo`
Ruby
1
star
52

vigo.github.com

My developer home page...
HTML
1
star
53

dji18njs

Modified and hardcore changed version of Django's i18n-javascript function. Can be usable as JavasScript Template engine. If you familiar with python's "format text" you will love this!
JavaScript
1
star
54

homebrew-lsvirtualenvs

brew tap for lsvirtualenvs
Ruby
1
star
55

homebrew-ghstars

Brew tap for ghstars cli
Ruby
1
star
56

amiga-ascii.tmbundle

Oldskool Amiga ascii/azki/nfo/diz support for TextMate with real Amiga fonts
1
star
57

my-custom-textmate1-bundle

Many snippets and my custom scratch-pad for TextMate1.
CSS
1
star
58

ugur.ozyilmazel.com

Kişisel web sitem
HTML
1
star
59

textmate-nanorc.tmbundle

.nanorc bundle for TextMate
Ruby
1
star