##// END OF EJS Templates
docs: clarify Python 2 requirement in README
Mads Kiilerich -
r5401:11bc459d default
parent child Browse files
Show More
@@ -1,211 +1,212 b''
1 1 ================
2 2 Kallithea README
3 3 ================
4 4
5 5 About
6 6 -----
7 7
8 8 **Kallithea** is a fast and powerful management tool for Mercurial_ and Git_
9 9 with a built-in push/pull server, full text search and code-review. It works on
10 10 http/https and has a built in permission/authentication system with the ability
11 11 to authenticate via LDAP or ActiveDirectory. Kallithea also provides simple API
12 12 so it's easy to integrate with existing external systems.
13 13
14 14 Kallithea is similar in some respects to GitHub_ or Bitbucket_, however
15 15 Kallithea can be run as standalone hosted application on your own server. It is
16 16 open-source donationware and focuses more on providing a customised,
17 17 self-administered interface for Mercurial_ and Git_ repositories. Kallithea
18 18 works on Unix-like systems and Windows, and is powered by the vcs_ library
19 19 created by Łukasz Balcerzak and Marcin KuΕΊmiΕ„ski to uniformly handle multiple
20 20 version control systems.
21 21
22 22 Kallithea was forked from RhodeCode in July 2014 and has been heavily modified.
23 23
24 24 Installation
25 25 ------------
26 Official releases of Kallithea can be installed via::
26 Kallithea requires Python_ 2.x and it is recommended to install it in a
27 virtualenv_. Official releases of Kallithea can be installed with::
27 28
28 29 pip install kallithea
29 30
30 31 The development repository is kept very stable and used in production by the
31 32 developers - you can do the same.
32 33
33 34 Please visit https://docs.kallithea-scm.org/en/latest/installation.html for
34 35 more details.
35 36
36 37
37 38 Source code
38 39 -----------
39 40
40 41 The latest sources can be obtained from
41 42 https://kallithea-scm.org/repos/kallithea.
42 43
43 44 The issue tracker and a repository mirror can be found at Bitbucket_ on
44 45 https://bitbucket.org/conservancy/kallithea.
45 46
46 47
47 48
48 49 Kallithea Features
49 50 ------------------
50 51
51 52 - Has its own middleware to handle Mercurial_ and Git_ protocol requests. Each
52 53 request is authenticated and logged together with IP address.
53 54 - Built for speed and performance. You can make multiple pulls/pushes
54 55 simultaneously. Proven to work with thousands of repositories and users.
55 56 - Supports http/https, LDAP, AD, proxy-pass authentication.
56 57 - Full permissions (private/read/write/admin) together with IP restrictions for
57 58 each repository, additional explicit forking, repositories group and
58 59 repository creation permissions.
59 60 - User groups for easier permission management.
60 61 - Repository groups let you group repos and manage them easier. They come with
61 62 permission delegation features, so you can delegate groups management.
62 63 - Users can fork other users repos, and compare them at any time.
63 64 - Built-in versioned paste functionality (Gist) for sharing code snippets.
64 65 - Integrates easily with other systems, with custom created mappers you can
65 66 connect it to almost any issue tracker, and with a JSON-RPC API you can make
66 67 much more.
67 68 - Built-in commit API lets you add, edit and commit files right from Kallithea
68 69 web interface using simple editor or upload binary files using simple form.
69 70 - Powerful pull request driven review system with inline commenting, changeset
70 71 statuses, and notification system.
71 72 - Importing and syncing repositories from remote locations for Git_, Mercurial_
72 73 and Subversion.
73 74 - Mako templates let you customize the look and feel of the application.
74 75 - Beautiful diffs, annotations and source code browsing all colored by
75 76 pygments. Raw diffs are made in Git-diff format for both VCS systems,
76 77 including Git_ binary-patches.
77 78 - Mercurial_ and Git_ DAG graphs and Flot-powered graphs with zooming and
78 79 statistics to track activity for repositories.
79 80 - Admin interface with user/permission management. Admin activity journal, logs
80 81 pulls, pushes, forks, registrations and other actions made by all users.
81 82 - Server side forks. It is possible to fork a project and modify it freely
82 83 without breaking the main repository.
83 84 - reST and Markdown README support for repositories.
84 85 - Full text search powered by Whoosh on the source files, commit messages, and
85 86 file names. Built-in indexing daemons, with optional incremental index build
86 87 (no external search servers required all in one application).
87 88 - Setup project descriptions/tags and info inside built in DB for easy,
88 89 non-filesystem operations.
89 90 - Intelligent cache with invalidation after push or project change, provides
90 91 high performance and always up to date data.
91 92 - RSS/Atom feeds, Gravatar support, downloadable sources as zip/tar/gz.
92 93 - Optional async tasks for speed and performance using Celery_.
93 94 - Backup scripts can do backup of whole app and send it over scp to desired
94 95 location.
95 96 - Based on Pylons, SQLAlchemy, SQLite, Whoosh, vcs.
96 97
97 98
98 99 License
99 100 -------
100 101
101 102 **Kallithea** is released under the GPLv3 license. Kallithea is a `Software
102 103 Freedom Conservancy`_ project and thus controlled by a non-profit organization.
103 104 No commercial entity can take ownership of the project and change the
104 105 direction.
105 106
106 107 Kallithea started out as an effort to make sure the existing GPLv3 codebase
107 108 would stay available under a legal license. Kallithea thus has to stay GPLv3
108 109 compatible ... but we are also happy it is GPLv3 and happy to keep it that way.
109 110 A different license (such as AGPL) could perhaps help attract a different
110 111 community with a different mix of Free Software people and companies but we are
111 112 happy with the current focus.
112 113
113 114
114 115 Community
115 116 ---------
116 117
117 118 **Kallithea** is maintained by its users who contribute the fixes they would
118 119 like to see.
119 120
120 121 Get in touch with the rest of the community:
121 122
122 123 - Join the mailing list users and developers - see
123 124 http://lists.sfconservancy.org/mailman/listinfo/kallithea-general.
124 125
125 126 - Use IRC and join #kallithea on FreeNode (irc.freenode.net) or use
126 127 http://webchat.freenode.net/?channels=kallithea.
127 128
128 129 - Follow Kallithea on Twitter, **@KallitheaSCM**.
129 130
130 131 - Issues can be reported at `issue tracker
131 132 <https://bitbucket.org/conservancy/kallithea/issues>`_.
132 133
133 134 .. note::
134 135
135 136 Please try to read the documentation before posting any issues,
136 137 especially the **troubleshooting section**
137 138
138 139
139 140 Online documentation
140 141 --------------------
141 142
142 143 Online documentation for the current version of Kallithea is available at
143 144 https://pythonhosted.org/Kallithea/. Documentation for the current development
144 145 version can be found on https://docs.kallithea-scm.org/.
145 146
146 147 You can also build the documentation locally: go to ``docs/`` and run::
147 148
148 149 make html
149 150
150 151 .. note:: You need to have Sphinx_ installed to build the
151 152 documentation. If you don't have Sphinx_ installed you can
152 153 install it via the command: ``pip install sphinx`` .
153 154
154 155
155 156 Converting from RhodeCode
156 157 -------------------------
157 158
158 159 Currently, you have two options for working with an existing RhodeCode
159 160 database:
160 161
161 162 - keep the database unconverted (intended for testing and evaluation)
162 163 - convert the database in a one-time step
163 164
164 165 Maintaining Interoperability
165 166 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
166 167
167 168 Interoperability with RhodeCode 2.2.X installations is provided so you don't
168 169 have to immediately commit to switching to Kallithea. This option will most
169 170 likely go away once the two projects have diverged significantly.
170 171
171 172 To run Kallithea on a RhodeCode database, run::
172 173
173 174 echo "BRAND = 'rhodecode'" > kallithea/brand.py
174 175
175 176 This location will depend on where you installed Kallithea. If you installed
176 177 via::
177 178
178 179 python setup.py install
179 180
180 181 then you will find this location at
181 182 ``$VIRTUAL_ENV/lib/python2.7/site-packages/Kallithea-0.1-py2.7.egg/kallithea``.
182 183
183 184 One-time Conversion
184 185 ~~~~~~~~~~~~~~~~~~~
185 186
186 187 Alternatively, if you would like to convert the database for good, you can use
187 188 a helper script provided by Kallithea. This script will operate directly on the
188 189 database, using the database string you can find in your ``production.ini`` (or
189 190 ``development.ini``) file. For example, if using SQLite::
190 191
191 192 cd /path/to/kallithea
192 193 cp /path/to/rhodecode/rhodecode.db kallithea.db
193 194 pip install sqlalchemy-migrate
194 195 python kallithea/bin/rebranddb.py sqlite:///kallithea.db
195 196
196 197 .. Note::
197 198
198 199 If you started out using the branding interoperability approach mentioned
199 200 above, watch out for stray brand.pyc after removing brand.py.
200 201
201 202 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
202 203 .. _Python: http://www.python.org/
203 204 .. _Sphinx: http://sphinx.pocoo.org/
204 205 .. _Mercurial: http://mercurial.selenic.com/
205 206 .. _Bitbucket: http://bitbucket.org/
206 207 .. _GitHub: http://github.com/
207 208 .. _Subversion: http://subversion.tigris.org/
208 209 .. _Git: http://git-scm.com/
209 210 .. _Celery: http://celeryproject.org/
210 211 .. _vcs: http://pypi.python.org/pypi/vcs
211 212 .. _Software Freedom Conservancy: http://sfconservancy.org/
General Comments 0
You need to be logged in to leave comments. Login now