https://github.com/advrhumanoids/forest

Minimal python-based clone & build tool with dependencies

https://github.com/advrhumanoids/forest

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.1%) to scientific vocabulary
Last synced: 7 months ago · JSON representation

Repository

Minimal python-based clone & build tool with dependencies

Basic Info
  • Host: GitHub
  • Owner: ADVRHumanoids
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 279 KB
Statistics
  • Stars: 6
  • Watchers: 7
  • Forks: 0
  • Open Issues: 15
  • Releases: 0
Created almost 5 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

forest Build Status

The forest project aims at automatizing the clone and build process for open source software. Differently from other systems such as Conda, or Conan, it is a non-intrusive system which does not aim at environment management.

Quickstart

Setup a new workspace and add new recipes. Optional arguments are surrounded by [square brackets]. - [sudo] pip3 install hhcm-forest - mkdir my_ws && cd my_ws - forest init - source setup.bash - forest add-recipes git@github.com:advrhumanoids/multidof_recipes.git [--tag master]

Install the xbot2_examples recipe with its dependencies. - forest grow xbot2_examples [-j8] [--clone-protocol https]

Command line interface

Forest's CLI is divided into three main verbs, i.e. init, add-recipes, and grow.

forest init

Initialize the current folder as a forest workspace, i.e. it creates - a src folder that will contain source code - a recipes folder that will contain forest's recipe files (more on this later) - a build folder to carry out compilation and store build artifacts - an install folder - a setup.bash file which makes installed items visible to the system

### forest add-recipes Adds recipes from a remote.

```bash usage: forest add-recipes [-h] [--tag TAG] [--verbose] url

positional arguments: url url of the remote (e.g. git@github.com:/.git or https://github.com//.git)

optional arguments: -h, --help show this help message and exit --tag TAG, -t TAG --verbose, -v print additional information

```

### forest grow Builds a project according to the given recipe name, alongside its dependencies.

```bash usage: forest grow [-h] [--jobs JOBS] [--mode MODE [MODE ...]] [--config CONFIG [CONFIG ...]] [--default-build-type {None,RelWithDebInfo,Release,Debug}] [--force-reconfigure] [--list-eval-locals] [--clone-protocol {ssh,https}] [--clone-depth CLONEDEPTH] [--cmake-args CMAKEARGS [CMAKE_ARGS ...]] [--no-deps] [--uninstall] [--clean] [--pwd PWD] [--verbose] [RECIPE]

positional arguments: RECIPE name of recipe with fetch and build information

optional arguments: -h, --help show this help message and exit --jobs JOBS, -j JOBS parallel jobs for building --mode MODE [MODE ...], -m MODE [MODE ...] specify modes that are used to set conditional compilation flags (e.g., cmake args) --config CONFIG [CONFIG ...], -c CONFIG [CONFIG ...] specify configuration variables that can be used inside recipes --default-build-type {None,RelWithDebInfo,Release,Debug}, -t {None,RelWithDebInfo,Release,Debug} build type for cmake, it is overridden by recipe --force-reconfigure force calling cmake before building with args from the recipe --list-eval-locals print available attributes when using conditional build args --clone-protocol {ssh,https} override clone protocol --clone-depth CLONEDEPTH set maximum history depth to save bandwidth --cmake-args CMAKEARGS [CMAKE_ARGS ...] specify additional cmake args to be appended to each recipe (leading -D must be omitted) --no-deps, -n skip dependency fetch and build step --uninstall uninstall recipe --clean uninstall recipe and remove build --pwd PWD, -p PWD user password to be used when sudo permission is required (if empty, user is prompted for password); note: to be used with care, as exposing your password might be harmful! --verbose, -v print additional information ```

Owner

  • Name: ADVR Humanoids
  • Login: ADVRHumanoids
  • Kind: organization
  • Email: luca.muratore@iit.it
  • Location: Istituto Italiano di Tecnologia

Humanoids & Human Centered Mechatronics, HHCM, IIT

GitHub Events

Total
  • Issues event: 1
  • Watch event: 3
  • Push event: 3
  • Create event: 2
Last Year
  • Issues event: 1
  • Watch event: 3
  • Push event: 3
  • Create event: 2

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 57
  • Total pull requests: 7
  • Average time to close issues: 3 months
  • Average time to close pull requests: 2 months
  • Total issue authors: 8
  • Total pull request authors: 2
  • Average comments per issue: 2.12
  • Average comments per pull request: 0.0
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.5
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • MarcoRuzzon (26)
  • alaurenzi (12)
  • liesrock (8)
  • eliapellegrino (4)
  • FrancescoRuscelli (1)
  • lucacovizzi (1)
  • lia2790 (1)
  • AndrePatri (1)
  • torydebra (1)
Pull Request Authors
  • MarcoRuzzon (6)
  • alaurenzi (1)
Top Labels
Issue Labels
enhancement (25) bug (9) [zube]: Backlog (6) question (5) insufficiently described (3) good first issue (2) help wanted (2) documentation (1) [zube]: Done (1)
Pull Request Labels

Dependencies

pyproject.toml pypi
setup.py pypi