github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

orestis / pysmell

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 107
    • 9
  • Source
  • Commits
  • Network (9)
  • Issues (0)
  • Downloads (9)
  • Wiki (2)
  • Graphs
  • Tag: v0.5

click here to add a description

click here to add a homepage

  • Branches (5)
    • background-spike
    • dynamic
    • instrumented
    • master
    • textmate_test
  • Tags (9)
    • v0.7.2
    • v0.7.1
    • v0.7
    • v0.6
    • v0.5
    • v0.4
    • v0.3
    • v0.2
    • v0.1
Sending Request…
Enable Donations

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

PySmell is an attempt to create an IDE completion helper for python. — Read more

  cancel

http://code.google.com/p/pysmell/

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

version bump 
orestis (author)
Mon Sep 15 10:37:42 -0700 2008
commit  34a887e428220cb29cd23cd5eba1362f58b16fff
tree    b5720d6f27ba11ecaff9fb918f1a662238cf8c5c
parent  cbf7559867f6f4c504df70f188b1ac4904be9dd1
pysmell /
name age
history
message
file .gitignore Loading commit data...
file CHANGELOG
file DESIGN.txt Mon Aug 25 14:41:51 -0700 2008 Added functional test, design thoughts about ho... [orestis]
file README
directory Tests/
file __init__.py Thu Sep 11 07:41:28 -0700 2008 version bump [orestis]
file alltests.py
file codefinder.py
file functional_test.py
file idehelper.py
file matchers.py
file pysmell.vim
file pysmelltags.py
file test_codefinder.py
file test_completions.py
file test_idehelper.py
file test_matchers.py
file test_vimhelper.py
file vimhelper.py Tue Sep 09 17:23:09 -0700 2008 Documentation and version bump. [orestis]
README
PySmell is a python IDE completion helper. 

It tries to statically analyze Python source code, without executing it, and generates information about a project's 
structure that IDE tools can use.

The first target is Vim, because that's what I'm using and because its completion mechanism is very straightforward.

##Download and Installation

PySmell's code is available at [GitHub](http://github.com/orestis/pysmell/tree/v0.5). You can click 'Download' to get it 
as a zip/tar if you don't have git installed.

Extract and drop the pysmell package somewhere in your PYTHONPATH. Distutils coming soon!

##Usage

To generate a PYSMELLTAGS file, use:

    cd /root/of/project
    python /dir/of/pysmelltags.py .

If you want to specifically include or exclude some files or directories (eg. tests), you can use:
    python /dir/of/pysmelltags.py [Package Package File File ...] [-x Excluded Excluded ...]

##Partial tags

If there are files that you want to analyze, but have them only be accessible from a specific package, you can create 
the PYSMELLTAGS file as above, rename it to PYSMELLTAGS.partial, and put it in the directory you want it to be 
accessible from. 

For example, if you have a bunch of custom test case files in your FunctionalTests package, along with a thousand actual 
functional tests, you can use:

    cd FunctionalTests
    python /dir/of/pysmelltags.py FunctionalTest.py UndoTestCase.py
    mv PYSMELLTAGS PYSMELLTAGS.partial

The information in FunctionalTest and UndoTestCase will only be accessible when editing a file inside the 
FunctionalTests package.

##Vim

To use PySmell omnicompletion from inside Vim, you have to have:

1. Python support
2. The pysmell package in your PYTHONPATH (sometimes Vim is silly about this)
3. Source pysmell/pysmell.vim
4. :set omnifunc=pysmell#Complete
Note: If you want to always use pysmell for python, do:
    autocmd FileType python set omnifunc=pysmell#Complete

You can then use ^X^O to invoke Vim's omnicompletion.

##Reporting issues

Send me an email at orestis@orestis.gr. If you can create a unit test that exposes that behaviour, it'd be great!
Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server