Skip to main content

Simple project generator.

Project description

1. bael.project
===============
bael.project is an example for Baelfire framework. This project provide simple
command line tool for auto-creation Python projects.

.. image:: http://socek.org/baelfire/graph.png
:alt: Example graph
:target: http://socek.org/baelfire/graph.png


2. Command line tool
====================

usage: pyproject [-h] [-c] [-d] [-g] [-l {debug,info,warning,error,critical}]

optional arguments:
-h, --help show this help message and exit

Tasks:
Project related options

-c, --create Create full project path.
-d, --develop Download requiretments.
-g, --graph Draw task dependency graph.

Logging:
Logging related options.

-l, --log-level Log level {debug,info,warning,error,critical}


This command line tool provide endpoint for 2 tasks:

* bael.project.develop:Create (which creates quick python project)
* bael.project.develop:Develop (which update requiretments depend on setup.py file)

So for using this tasks you can alse use bael tool:
::
$ bael -t bael.project.develop:Create
$ bael -t bael.project.develop:Develop

3. Creating bare project
========================
pyproject asume that Python project needs to have setu.py and src directory.
When creating new project, pyproject will ask for project name, ane write it into
setup.py file. Also this tool will create virtualenv directory for you.
::
$ pyproject -c
Project name: Example Project
Package name: exproject
* INFO bael.project.virtualenv.VirtualenvTask: Running *
Using real prefix '/usr'
New python executable in /tmp/testme/venv_exproject/bin/python
Installing setuptools, pip, wheel...done.
* INFO bael.project.project.SetupPy: Running *
* INFO bael.project.folders.SrcFolderTask: Running *
* INFO bael.project.folders.MainFolderTask: Running *
* INFO bael.project.folders.FillWithInitsTask: Running *
* INFO bael.project.develop.Create: Running *

Project name and package name will be saved in .pyproject.yaml file, so next
time you use this tool no input will be needed.

4. Updateting projects requiretments
====================================
Other useful task is updateting your virtualenv to the most recent requiretments
version. Requiretments are store in the setup.py file.
::
$ pyproject -d
* INFO bael.project.develop.Develop: Running *
running develop
running egg_info
creating Example_Project.egg-info
writing Example_Project.egg-info/PKG-INFO
writing entry points to Example_Project.egg-info/entry_points.txt
writing top-level names to Example_Project.egg-info/top_level.txt
writing dependency_links to Example_Project.egg-info/dependency_links.txt
writing manifest file 'Example_Project.egg-info/SOURCES.txt'
reading manifest file 'Example_Project.egg-info/SOURCES.txt'
writing manifest file 'Example_Project.egg-info/SOURCES.txt'
running build_ext
Creating /tmp/testme/venv_exproject/lib/python3.5/site-packages/Example-Project.egg-link (link to .)
Adding Example-Project 0.1 to easy-install.pth file

Installed /tmp/testme
Processing dependencies for Example-Project==0.1
Finished processing dependencies for Example-Project==0.1
$ pyproject -d
$ touch setup.py
$ pyproject -d
* INFO bael.project.develop.Develop: Running *
running develop
running egg_info
writing dependency_links to Example_Project.egg-info/dependency_links.txt
writing entry points to Example_Project.egg-info/entry_points.txt
writing top-level names to Example_Project.egg-info/top_level.txt
writing Example_Project.egg-info/PKG-INFO
reading manifest file 'Example_Project.egg-info/SOURCES.txt'
writing manifest file 'Example_Project.egg-info/SOURCES.txt'
running build_ext
Creating /tmp/testme/venv_exproject/lib/python3.5/site-packages/Example-Project.egg-link (link to .)
Example-Project 0.1 is already the active version in easy-install.pth

Installed /tmp/testme
Processing dependencies for Example-Project==0.1
Finished processing dependencies for Example-Project==0.1

5. Drawning graphs of dependencies
==================================
We can draw a task graph of actual (or last) command.
::
$ pyproject -d -g
$ ls graph.png
graph.png

.. image:: http://socek.org/baelfire/graph.png
:alt: Example graph
:target: http://socek.org/baelfire/graph.png

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bael.project-0.2.tar.gz (4.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page