Skip to main content

edgy.project

Strongly opinionated python project management.

Continuous Integration Status Coverage Status Documentation Status

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
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?

Update

If you change the Projectfile content, or update the library, you will need to run the generator again.

edgy-project update

To better control what changes are made, I suggest that you run it on a clean git repository, then look at the dofferences using:

git diff --cached

You can then commit the generated changes.

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?

    • Yes, edgy.project run both with python 2.7+ and python 3.4+, but we don’t generate version specific code. For example, we don’t support generating namespace packages that does not have __init__.py files with the python namespace package boilerplate.

Metadata

Release files for edgy.project 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for edgy.project 0.3.2
File Size Uploaded Provenance
edgy.project-0.3.2.tar.gz 17.8 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for edgy.project 0.3.2
File Interpreter ABI Platform
edgy.project-0.3.2-py3.6.egg Legacy Egg format - - Details
edgy.project-0.3.2-py3.5.egg Legacy Egg format - - Details
edgy.project-0.3.2-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 156.4 kB

Release files / edgy.project-0.3.2.tar.gz

Download URL edgy.project-0.3.2.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5cca168e080f5c72499f65465c4a2afd8aa234e8cc8380cc734fb318cb53bb8d
BLAKE2b-256 checksum
How to use checksums
dfa5ef9c8be3a0412e2b99904813cd8ec01d28592754d5f250e30e98aaf30e4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / edgy.project-0.3.2-py3.6.egg

Download URL edgy.project-0.3.2-py3.6.egg
Size 54.3 kB
Tags Egg
SHA-256 checksum
How to use checksums
064dd1331ea6f0a7f31a036063962d83cd4eb3e1e88753a00d7f9eb3b8b73344
BLAKE2b-256 checksum
How to use checksums
3dd7ef2e5d9cebe53cb433d0b92378f4f28d70c7d992c51c61475297ad603bb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / edgy.project-0.3.2-py3.5.egg

Download URL edgy.project-0.3.2-py3.5.egg
Size 55.2 kB
Tags Egg
SHA-256 checksum
How to use checksums
382892b904a52ed36033d340bde2f784d88f2c18e28ea6fff61946e4538c09ee
BLAKE2b-256 checksum
How to use checksums
ae6b28cdd511e2ebf8244fee6876313470906b21b4d2db954a050ba9746580cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / edgy.project-0.3.2-py2.py3-none-any.whl

Download URL edgy.project-0.3.2-py2.py3-none-any.whl
Size 29.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
683db542a7e367b8f4f26387c7d4f5b61fed32e35317373e89f0519dffb32302
BLAKE2b-256 checksum
How to use checksums
4d7aeaeb24c5e299818bb3ebb301a3930554e6b4a132eed310e711706a750685
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for edgy.project 0.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.3.2 This release

4 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page