<commit_before>python-den.el
=============

python-den is a best-of-breed Emacs collection of Python modes and helpers. I
wrote it because I wanted:

* Pervasive virtualenv support
* IPython support (with tab-completion) for every interactive shell
* Debugging without sprinkling `pdb.set_trace()` throughout my code
* Autocomplete with Ropemacs, like the Real IDEs have
* Pyflakes

Requirements
------------

* Ipython (http://ipython.scipy.org/moin/)
* Ipdb (http://github.com/akrito/ipdb)
* Ropemacs (http://rope.sourceforge.net/ropemacs.html)
* Virtualenvwrapper (http://www.doughellmann.com/projects/virtualenvwrapper/)

Setup
-----

Add the following to your `$virtualenv/postactivate` script:

    emacsclient -e "(workon-postactivate \"$VIRTUAL_ENV\")">/dev/null
    
workon-postactivate expects rope's project directory to be at
`$VIRTUAL_ENV/rope/` - edit `$VIRTUAL_ENV/rope/.ropeproject/config.py` and add
the following to `project_opened`:

    from os.path import dirname, join
    activate_this = join(dirname(__file__), '../../bin/activate_this.py')
    execfile(activate_this, dict(__file__=activate_this))

Usage
-----

In .emacs.d/init.el:

    ;; Where is python-den checked out?
    (setq python-den-root-dir "/home/alex/.emacs.d/python-den")
    ;; Where are your virtualenvs?
    (setq virtualenv-root-dir "~/v/") ;; remember the trailing slash
    (add-to-list 'load-path python-den-root-dir)
    (require 'python-den)
    ;; Use the default virtualenv
    (workon-postactivate "/home/alex/v/ellington")

Todo
----

* Clean up all the sloppiness. I don't really know what the hell I'm doing.
* Stop breaking other comints.
* Maybe use auto-complete.el instead of ido for rope completions.
* Write up how to combine rope and virtualenv in .ropeproject/config.py.
* IPython and virtualenv support can possibly be rewritten as a derived mode.
* (I)pdb should be smarter about default options<commit_msg>cleaned readme<commit_after>python-den.el
=============

python-den is a best-of-breed Emacs collection of Python modes and helpers. I
wrote it because I wanted:

* Pervasive virtualenv support
* IPython support (with tab-completion) for every interactive shell
* Debugging without sprinkling `pdb.set_trace()` throughout my code
* Autocomplete with Ropemacs, like the Real IDEs have
* Pyflakes

Requirements
------------

* Ipython (http://ipython.scipy.org/moin/)
* Ipdb (http://github.com/akrito/ipdb)
* Ropemacs (http://rope.sourceforge.net/ropemacs.html)
* Virtualenvwrapper (http://www.doughellmann.com/projects/virtualenvwrapper/)

Setup
-----

Add the following to your `$virtualenv/postactivate` script:

    emacsclient -e "(workon-postactivate \"$VIRTUAL_ENV\")">/dev/null
    
workon-postactivate expects rope's project directory to be at
`$VIRTUAL_ENV/rope/` - edit `$VIRTUAL_ENV/rope/.ropeproject/config.py` and add
the following to `project_opened`:

    from os.path import dirname, join
    activate_this = join(dirname(__file__), '../../bin/activate_this.py')
    execfile(activate_this, dict(__file__=activate_this))

Usage
-----

In .emacs.d/init.el:

    ;; Where is python-den checked out?
    (setq python-den-root-dir "/home/alex/.emacs.d/python-den")
    ;; Where are your virtualenvs?
    (setq virtualenv-root-dir "~/v/") ;; remember the trailing slash
    (add-to-list 'load-path python-den-root-dir)
    (require 'python-den)
    ;; Use the default virtualenv
    (workon-postactivate "/home/alex/v/ellington")

Todo
----

* Stop breaking other comints.
* Maybe use auto-complete.el instead of ido for rope completions.
* IPython and virtualenv support can possibly be rewritten as a derived mode.
* (I)pdb should be smarter about default options
{'fraction_non_alphanumeric': 0.13088155759870201, 'fraction_numerical': 0.0, 'mean_word_length': 3.81640625, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '692587', 'n_tokens_mistral': 1243, 'n_tokens_neox': 1180, 'n_words': 342}