Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cjerdonek/groome-python
Project template for a Python script using Groome
https://github.com/cjerdonek/groome-python
Last synced: about 21 hours ago
JSON representation
Project template for a Python script using Groome
- Host: GitHub
- URL: https://github.com/cjerdonek/groome-python
- Owner: cjerdonek
- Created: 2012-05-17T09:30:00.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2013-11-12T07:40:19.000Z (about 11 years ago)
- Last Synced: 2024-12-10T16:58:25.741Z (26 days ago)
- Language: Python
- Homepage: http://cjerdonek.github.com/groome/
- Size: 176 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY.md
Awesome Lists containing this project
README
Groome-Python
=============A [Groome](http://cjerdonek.github.com/groome/) project template for a
Python command-line script.[This project is still under construction and is not yet usable.]
What is this?
-------------The purpose of this project is to provide a Groome template to kick-start
a Python project. The template is tailored to the following situation:* a pure Python project (e.g. no C extensions) that
* exposes a command-line script,
* is written in Python 2 and supports Python 3,
* uses Git for source control, and
* could be potentially large or complex.Features of the project after rendering include--
* deployable to [PyPI](http://pypi.python.org/pypi) using
[setup.py](http://docs.python.org/library/distutils.html),
* command-line interface via
[argparse](http://docs.python.org/library/argparse.html),
* [logging](http://docs.python.org/library/logging.html) comes pre-configured,
* Python 3 supported via [2to3](http://docs.python.org/library/2to3.html),
* [unit tests](http://docs.python.org/library/unittest.html) and
[doctests](http://docs.python.org/library/doctest.html) runnable with
a single command,
* [tox](http://codespeak.net/tox/) support for running tests on all Python
versions,
* [Travis CI](http://travis-ci.org/) support for continuous integration, and
* stubbed out license and documentation files.Rendering the template creates a project that is working and ready-to-go with
respect to all of the above. The project template is based on the structure
of the code base for [Molt](http://cjerdonek.github.com/molt/), which is the
reference implementation for rendering Groome templates.Using the Project
-----------------This section describes how to start using the project you get after rendering.
For discussion purposes, we use the project created from the sample
configuration file. However, all of this holds for any configuration file;
only the names will be different. The sample project is called "Pizza." You
can see it in the `template/expected` directory, which is a git submodule
that we maintain in a separate repo called
[groome-python-expected](https://github.com/cjerdonek/groome-python-expected).
It is an actual working project! :)Check out the [Pizza](https://github.com/cjerdonek/groome-python-expected)
project page for details on what you get and how to use it.Project Organization
--------------------pizza/
# command-line specific code (i.e. not needed for API).
scripts/
pizza/
# test-specific code
test/
# test infrastructure and support code
harness/
# test modules in correspondence with package modules
pizza/
# Convenience wrapper to call main script while developing
runpizza.py