All Projects → hugollm → foster

hugollm / foster

Licence: MIT license
An easy way to publish your python packages.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to foster

pkg-master
A management tool for creating and publishing NPM package
Stars: ✭ 18 (-41.94%)
Mutual labels:  publish
Examples
An complete examples and related support for various popular projects, and more.
Stars: ✭ 22 (-29.03%)
Mutual labels:  build
vsSolutionBuildEvent
🎛 Event-Catcher with variety of advanced Actions to service projects, libraries, build processes, runtime environment of the Visual Studio, MSBuild Tools, and …
Stars: ✭ 66 (+112.9%)
Mutual labels:  build
BuildTimeLogger-for-Xcode
A console app for logging Xcode build times and presenting them in a notification
Stars: ✭ 43 (+38.71%)
Mutual labels:  build
xyz
Publish npm packages with fewer screw-ups
Stars: ✭ 101 (+225.81%)
Mutual labels:  publish
fdk-aac-win32-builder
libfdk-aac for Windows binary builder
Stars: ✭ 25 (-19.35%)
Mutual labels:  build
can-npm-publish
A command line tool that check to see if `npm publish` is possible.
Stars: ✭ 61 (+96.77%)
Mutual labels:  publish
ionic4-angular7-example
Ionic 4, Angular 7 and Cordova Tutorial: Build CRUD Mobile Apps
Stars: ✭ 57 (+83.87%)
Mutual labels:  build
angular-PubSub
Angular 1.x implementation of the Publish–Subscribe pattern.
Stars: ✭ 32 (+3.23%)
Mutual labels:  publish
android manifest
The beginnings
Stars: ✭ 26 (-16.13%)
Mutual labels:  build
wisdom
🎁 Tool for publishing releases to github and npm
Stars: ✭ 16 (-48.39%)
Mutual labels:  publish
qt-creator-plugin-boostbuild
Boost.Build Project Manager Plugin for Qt Creator
Stars: ✭ 15 (-51.61%)
Mutual labels:  build
jsdoc-action
📖 GitHub Action to build JSDoc documentation
Stars: ✭ 61 (+96.77%)
Mutual labels:  build
ukor
A Roku build tool with support for build flavors
Stars: ✭ 45 (+45.16%)
Mutual labels:  build
next-oss
webpack打包文件上传到OSS
Stars: ✭ 18 (-41.94%)
Mutual labels:  build
okhoxi-serac
冰塔协议-传输层协议
Stars: ✭ 33 (+6.45%)
Mutual labels:  build
dead-simple
💀💡 Dead simple PubSub and EventEmitter in JavaScript
Stars: ✭ 21 (-32.26%)
Mutual labels:  publish
knative-build-tutorials
A set of tutorials for Knative Build
Stars: ✭ 27 (-12.9%)
Mutual labels:  build
build
build is like Makefile for single files
Stars: ✭ 17 (-45.16%)
Mutual labels:  build
babel-preset-amex
✨ Standard babel preset for American Express
Stars: ✭ 14 (-54.84%)
Mutual labels:  build

Foster

Foster care for your python projects. This tool is a simple way to build and publish your packages to PyPI, making them available for a pip install.

PyPI version Build Status Coverage Status

Quickstart

Install foster:

pip install foster

Init your package settings:

foster init

This will create a package.py file in your current directory (this should be the root of your project). This is the only file you need to commit to your version control (git).

Edit the file with your package information. Example:

name = 'myproject'
version = '0.0.0'

packages = ['myproject', 'myproject.subpackage']
files = ['myproject/files', 'LICENSE']
requirements = ['Jinja2 >= 2, < 3']
scripts = ['myp=myproject.command:run']

author = 'John Doe
author_email = '[email protected]'
license = 'MIT'
url = 'https://github.com/...'

keywords = 'myproject awesome python'
description = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit'

long_description = """
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
"""

In the above example, the package will:

  • Include the python packages myproject and myproject.subpackage
  • Include all the files in the myproject/files directory (recursively) and the LICENSE file
  • Add Jinja2 (version 2.x.x) as a requirement (it's probably not a good idea to pinpoint the version, but you can)
  • Add the console script myp, making it execute the run callable in the myproject.command file

If you're not using some of the fields, like files or scripts for instance, just leave them empty (don't delete them).

Next, build your package (this will create a dist directory):

foster build

Finally, publish your package to the PyPI test environment:

foster publish staging

Change staging for production when you're ready for the real deal.

Packages uploaded to the PyPI's test environment can be tested with:

pip install -i https://test.pypi.org/simple/ myproject

Or, more easily:

foster test myproject

If your package has dependencies, you'll have to install them from the standard repository first:

pip install Jinja2
foster test myproject
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].