Changeset - cc635016933f
[Not reviewed]
beta
0 2 0
Marcin Kuzminski - 15 years ago 2010-12-18 18:10:45
marcin@python-works.com
fixed error in setup.py RST generation, speling fix for README
2 files changed with 2 insertions and 2 deletions:
0 comments (0 inline, 0 general)
README.rst
Show inline comments
 

	
 
=================================================
 
Welcome to RhodeCode (RhodiumCode) documentation!
 
=================================================
 

	
 
``RhodeCode`` (formerly hg-app) is Pylons framework based Mercurial repository 
 
browser/management with build in push/pull server and full text search.
 
It works on http/https, has build in permission/authentication(+ldap) features 
 
It's similar to github or bitbucket, but it's suppose to run as standalone 
 
hosted application, it's open source and focuses more on restricted access to 
 
repositories. It's powered by vcs_ library that me and Lukasz Balcerzak created 
 
to handle many various version control systems.
 

	
 
RhodeCode uses `Semantic Versioning <http://semver.org/>`_
 

	
 
RhodeCode demo
 
--------------
 

	
 
http://hg.python-works.com
 

	
 
The default access is anonymous but You can login to administrative account
 
using those credentials
 

	
 
- username: demo
 
- password: demo
 

	
 
Source code
 
-----------
 

	
 
The most up to date sources can be obtained from my own RhodeCode instance
 
https://rhodecode.org 
 

	
 
Rarely updated source code and issue tracker is available at bitbcuket
 
http://bitbucket.org/marcinkuzminski/rhodecode
 

	
 
Installation
 
------------
 

	
 
 Please visit http://packages.python.org/RhodeCode/installation.html
 

	
 

	
 
Features
 
--------
 

	
 
- Has it's own middleware to handle mercurial_ protocol request. 
 
  Each request can be logged and authenticated. Runs on threads unlikely to 
 
  hgweb. You can make multiple pulls/pushes simultaneous. Supports http/https 
 
  and ldap
 
- Full permissions (private/read/write/admin) and authentication per project. 
 
  One account for web interface and mercurial_ push/pull/clone operations.
 
- Mako templates let's you customize look and feel of application.
 
- Beautiful diffs, annotations and source codes all colored by pygments.
 
- Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics
 
- Admin interface with user/permission management. Admin activity journal, logs
 
  pulls, pushes, forks, registrations and other actions made by all users.
 
- Server side forks, it's possible to fork a project and hack it free without
 
  breaking the main repository.
 
- Full text search powered by Whoosh on source codes, and file names.
 
  Build in indexing daemons, with optional incremental index build
 
  (no external search servers required all in one application)
 
- Setup project descriptions and info inside built in db for easy, non 
 
  file-system operations
 
- Inteligent cache with invalidation after push or project change, provides high 
 
- Intelligent cache with invalidation after push or project change, provides high 
 
  performance and always up to date data.    
 
- Rss / atom feeds, gravatar support, download sources as zip/tar/gz
 
- Async tasks for speed and performance using celery_ (works without them too)  
 
- Backup scripts can do backup of whole app and send it over scp to desired 
 
  location 
 
- Based on pylons / sqlalchemy / sqlite / whoosh / vcs
 

	
 

	
 
.. include:: ./docs/screenshots.rst
 
    
 
    
 
Incoming / Plans
 
----------------
 

	
 
- project grouping
 
- User groups/teams
 
- code review (probably based on hg-review)
 
- full git_ support, with push/pull server (currently in beta tests)
 
- redmine integration
 
- public accessible activity feeds
 
- commit based build in wiki system
 
- clone points and cloning from remote repositories into rhodecode 
 
  (git_ and mercurial_)
 
- more statistics and graph (global annotation + some more statistics)
 
- other cools stuff that i can figure out (or You can help me figure out)
 

	
 
License
 
-------
 

	
 
``rhodecode`` is released under GPL_ license.
 

	
 

	
 
Mailing group Q&A
 
-----------------
 

	
 
join the `Google group <http://groups.google.com/group/rhodecode>`_
 

	
 
open an issue at `issue tracker <http://bitbucket.org/marcinkuzminski/rhodecode/issues>`_
 

	
 
join #rhodecode on FreeNode (irc.freenode.net)
 
or use http://webchat.freenode.net/?channels=rhodecode for web access to irc.
 

	
 
Online documentation
 
--------------------
 

	
 
 Online documentation for current version is available at
 
 http://packages.python.org/RhodeCode/.
 
 You may also build documentation for yourself - go into ``docs/`` and run::
 

	
 
   make html
 

	
setup.py
Show inline comments
 
import sys
 
py_version = sys.version_info
 

	
 
from rhodecode import get_version
 

	
 
requirements = [
 
        "Pylons==1.0.0",
 
        "SQLAlchemy==0.6.5",
 
        "Mako==0.3.6",
 
        "vcs==0.1.10",
 
        "pygments==1.3.1",
 
        "mercurial==1.7.2",
 
        "whoosh==1.3.4",
 
        "celery==2.1.4",
 
        "py-bcrypt",
 
        "babel",
 
    ]
 

	
 
classifiers = ['Development Status :: 4 - Beta',
 
               'Environment :: Web Environment',
 
               'Framework :: Pylons',
 
               'Intended Audience :: Developers',
 
               'License :: OSI Approved :: BSD License',
 
               'Operating System :: OS Independent',
 
               'Programming Language :: Python', ]
 

	
 
if sys.version_info < (2, 6):
 
    requirements.append("simplejson")
 
    requirements.append("pysqlite")
 

	
 
#additional files from project that goes somewhere in the filesystem
 
#relative to sys.prefix
 
data_files = []
 

	
 
#additional files that goes into package itself
 
package_data = {'rhodecode': ['i18n/*/LC_MESSAGES/*.mo', ], }
 

	
 
description = ('Mercurial repository browser/management with '
 
               'build in push/pull server and full text search')
 
#long description
 
try:
 
    readme_file = 'README.rst'
 
    changelog_file = 'docs/changelog.rst'
 
    long_description = open(readme_file).read() + '/n/n' + \
 
    long_description = open(readme_file).read() + '\n\n' + \
 
        open(changelog_file).read()
 

	
 
except IOError, err:
 
    sys.stderr.write("[WARNING] Cannot find file specified as "
 
        "long_description (%s)\n or changelog (%s) skipping that file" \
 
            % (readme_file, changelog_file))
 
    long_description = description
 

	
 

	
 
try:
 
    from setuptools import setup, find_packages
 
except ImportError:
 
    from ez_setup import use_setuptools
 
    use_setuptools()
 
    from setuptools import setup, find_packages
 
#packages
 
packages = find_packages(exclude=['ez_setup'])
 

	
 
setup(
 
    name='RhodeCode',
 
    version=get_version(),
 
    description=description,
 
    long_description=long_description,
 
    keywords='rhodiumcode mercurial web hgwebdir gitweb git replacement serving hgweb rhodecode',
 
    license='BSD',
 
    author='Marcin Kuzminski',
 
    author_email='marcin@python-works.com',
 
    url='http://hg.python-works.com',
 
    install_requires=requirements,
 
    classifiers=classifiers,
 
    setup_requires=["PasteScript>=1.6.3"],
 
    data_files=data_files,
 
    packages=packages,
 
    include_package_data=True,
 
    test_suite='nose.collector',
 
    package_data=package_data,
 
    message_extractors={'rhodecode': [
 
            ('**.py', 'python', None),
 
            ('templates/**.mako', 'mako', {'input_encoding': 'utf-8'}),
 
            ('public/**', 'ignore', None)]},
 
    zip_safe=False,
 
    paster_plugins=['PasteScript', 'Pylons'],
 
    entry_points="""
 
    [paste.app_factory]
 
    main = rhodecode.config.middleware:make_app
 

	
 
    [paste.app_install]
 
    main = pylons.util:PylonsInstaller
 

	
 
    [paste.global_paster_command]
 
    make-index = rhodecode.lib.indexers:MakeIndex
 
    upgrade-db = rhodecode.lib.dbmigrate:UpgradeDb
 
    celeryd=rhodecode.lib.celerypylons.commands:CeleryDaemonCommand
 
    celerybeat=rhodecode.lib.celerypylons.commands:CeleryBeatCommand
 
    camqadm=rhodecode.lib.celerypylons.commands:CAMQPAdminCommand
 
    celeryev=rhodecode.lib.celerypylons.commands:CeleryEventCommand
 
              
 
    """,
 
)
0 comments (0 inline, 0 general)