Skip to main content

Strongly opinionated python project management.

Project description

edgy.project

Strongly opinionated python project management.

This package helps you create python source trees using best practices (or at least the practices we consider as best for us) in a breeze.

Don’t worry about setting up git, a makefile, usual project targets, unit tests framework, pip, wheels, virtualenv, code coverage, namespace packages, setup.py files … Project’s got you covered on all this, using one simple and fast command.

Install

Before installing the package, you must make sure that pip and virtualenv are installed and available to be used in your current environment.

pip install edgy.project

Now, you may want to bootstrap a python package source tree.

mkdir my.awesome.pkg
cd my.awesome.pkg
cat >Projectfile <<EOF
name = 'my.awesome.pkg'
description = 'Amazing description.'
license = 'Apache License, Version 2.0'
EOF
python -m edgy.project init

You’re done with the bootstrap. You can now run:

make install
make test
git commit -m 'Damn that was fast ...'

Happy?

Gotchas

As the headline says, we have made strong opinionated choices about how a project tree should be organized.

For example, we choose to use make to provide the main project entrypoints (install, test). We also choose to use git. And nosetests. And to put root package in the project root. Etc.

For beginners, that’s a good thing, because they won’t have to ask themselves questions like “What should I put in setup.py ?” or “Should I create a «src» dir or not ?”. For more advanced users, it can be either a good thing if you agree with our choices, or a bad one …

F.A.Q

  • I’m using PasteScript, isn’t that enough?

    • PasteScript with the basic_package template will only generate a very minimalistic tree, while we install a few tools and generate more boilerplate than it does. The fact is, we were using it before but still had a lot of repeated actions to do then, and the exact aim of this project is to automate the whole. Also, PasteScript cannot update a project once generated, while we do.

  • Should I use it?

    • You’re a grown man, right?

  • Is it stable / production ready?

    • Not really relevant to this project, as it’s more a development tool than something you’ll use in operations. However, please note that on some points and until version 1.0, we will tune things and change the way it works to find the most flexible way to operate. Thus, if you relly on a specific implementation, updates may break things. The good news is that you’ll be able to review changes using git diff –cached, and either rollback or report issues saying how much you’re disappointed (and why, don’t forget the why, please).

  • Can I contribute?

    • Yes, but the right vs wrong choices decision is up to us. Probably a good idea to discuss about it (in an issue for example) first.

  • Can you include feature «foo»?

    • Probably, or maybe not. Come on github issues to discuss it, if we agree on the fact this feature is good for a lot of usages, your patch will be welcome. Also, we’re working on a simple way to write “feature plugins”, so even if we don’t agree on something, you’ll be able to code and even distribute addons that make things work the way you like.

  • Do you support python 3?

    • It’s the plan, but unfortunately, not for now.

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

edgy.project-0.1.4.tar.gz (8.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

edgy.project-0.1.4.macosx-10.10-x86_64.tar.gz (15.8 kB view details)

Uploaded Source

edgy.project-0.1.4-py2.7.egg (25.1 kB view details)

Uploaded Egg

edgy.project-0.1.4-py2-none-any.whl (15.7 kB view details)

Uploaded Python 2

File details

Details for the file edgy.project-0.1.4.tar.gz.

File metadata

  • Download URL: edgy.project-0.1.4.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for edgy.project-0.1.4.tar.gz
Algorithm Hash digest
SHA256 66b88ac4e16d79f7f112599dddb7cf66b2a88c0c49a8c831a3ed534b0dc92743
MD5 e1067296a6864e77eae3144b9695eb76
BLAKE2b-256 8bffb343c173ad843ba5a35dd4e7ff49a6ee1290e3eb57b5b0b41583e097d91a

See more details on using hashes here.

File details

Details for the file edgy.project-0.1.4.macosx-10.10-x86_64.tar.gz.

File metadata

File hashes

Hashes for edgy.project-0.1.4.macosx-10.10-x86_64.tar.gz
Algorithm Hash digest
SHA256 6b88d6da3a716eaabf88018c3e17accc4d8aea028c96df20d2219eb460392f5e
MD5 9bf6115ac1be07bf19198015528f1479
BLAKE2b-256 1efa1dc9e16590e90ad80a457130691d2d86f0dbae46612452871e2c87233b07

See more details on using hashes here.

File details

Details for the file edgy.project-0.1.4-py2.7.egg.

File metadata

File hashes

Hashes for edgy.project-0.1.4-py2.7.egg
Algorithm Hash digest
SHA256 fddbed6db148c6921b78bb31c5fea06188ddb36a7c1b6a4f854fb334c58414aa
MD5 a23b8b01ac0e99b67356c63a16a48c79
BLAKE2b-256 0ab6227bf5b6956bd24f83a735b992b3122178ffb47680698a5af9ae6fbf7726

See more details on using hashes here.

File details

Details for the file edgy.project-0.1.4-py2-none-any.whl.

File metadata

File hashes

Hashes for edgy.project-0.1.4-py2-none-any.whl
Algorithm Hash digest
SHA256 b9cd8e30c2a9593169ba33c735d81a8a1a81533fbfc236f645929ae56f9dee33
MD5 b2b29a7ae2a7e2ebcd8dc72b8475cc03
BLAKE2b-256 65ecf033310d5b7f1877515ee610a8ffb82644649dd23eddba113d0651b56341

See more details on using hashes here.

Supported by

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