Add long_description (REAMDE) to setup.py.
[insider.git] / README
1 Insider is a transaction-tracking application written in Python_ using
2 the Django_ framework.
3
4 Install
5 =======
6
7 Download
8 --------
9
10 Insider is published as a Git_ repository.  See [insider's web
11 interface][insider] for more information.
12
13 Dependencies
14 ------------
15
16 Outside of Django_ and the Python_ standard libraries, the only
17 required dependency is `django-tables2`_ (docs__).  For some of the
18 scraping libraries (`insider/scrape/*`), you'll also need
19 BeautifulSoup_.
20
21 __ dt2-docs_
22
23 Quick-start
24 ===========
25
26 If you don't have a Django project and you just want to run insider as
27 a stand-alone service, you can use the example project written up in
28 `example`.  Set up the project (once)::
29
30   $ python example/manage.py syncdb
31
32 See the `Django documentation`_ for more details.
33
34 Run
35 ===
36
37 Run the app on your local host (as many times as you like)::
38
39   $ python example/manage.py runserver
40
41 You may need to add the current directory to `PYTHONPATH` so `python`
42 can find the `insider` package.  If you're running `bash`, that will
43 look like
44
45   $ PYTHONPATH=".:$PYTHONPATH" python example/manage.py runserver
46
47 Scraping
48 ========
49
50 Entering transaction data by hand can be tedious and error prone.  To
51 automate the task, you should write scrapers to look up and enter
52 transaction data automatically.  To get you started, I've written
53 `insider/scrape/nasdaq.py`, which scrapes `NASDAQ's interface`__ to
54 `EDGAR`_\'s data.  Use the scraper with something like::
55
56   $ export PYTHONPATH='.'
57   $ export DJANGO_SETTINGS_MODULE='example.settings'
58   $ python insider/scrape/nasdaq.py NYSE:RHT NASDAQ:GOOG
59
60 __ NASDAQ_
61
62 If the scraper doesn't extract company names (`nasdaq.py` does not),
63 it's probably a good idea to add the relevant `Company` and `Ticker`
64 to the database before running the scraper.  Otherwise you may get
65 tickers from several echanges all pointing to the company `UNKNOWN`.
66
67 Hacking
68 =======
69
70 This project was largely build following the `Django tutorial`_.
71 That's a good place to start if you're new to Django.
72
73 .. _Python: http://www.python.org/
74 .. _Django: https://www.djangoproject.com/
75 .. _Git: http://git-scm.com/
76 .. _insider: http://physics.drexel.edu/~wking/code/git/gitweb.cgi?p=insider.git
77 .. _django-tables2: https://github.com/bradleyayers/django-tables2/
78 .. _dt2-docs: http://django-tables2.readthedocs.org/en/latest/
79 .. _BeautifulSoup: http://www.crummy.com/software/BeautifulSoup/
80 .. _Django documentation: https://docs.djangoproject.com/
81 .. _NASDAQ: http://www.nasdaq.com/reference/ownership.stm
82 .. _EDGAR: http://www.edgar-online.com/
83 .. _Django tutorial: https://docs.djangoproject.com/en/1.3/intro/tutorial01/