{"id":27184987,"url":"https://github.com/threefoldtech/js-ng","last_synced_at":"2025-04-09T17:09:59.940Z","repository":{"id":38430707,"uuid":"198405982","full_name":"threefoldtech/js-ng","owner":"threefoldtech","description":"next gen js","archived":false,"fork":false,"pushed_at":"2023-06-07T13:35:49.000Z","size":6067,"stargazers_count":4,"open_issues_count":22,"forks_count":5,"subscribers_count":20,"default_branch":"development","last_synced_at":"2025-04-09T17:09:52.171Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/threefoldtech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null}},"created_at":"2019-07-23T10:16:25.000Z","updated_at":"2024-12-05T06:39:08.000Z","dependencies_parsed_at":"2023-01-31T06:16:00.517Z","dependency_job_id":null,"html_url":"https://github.com/threefoldtech/js-ng","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fjs-ng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fjs-ng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fjs-ng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fjs-ng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/threefoldtech","download_url":"https://codeload.github.com/threefoldtech/js-ng/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248074976,"owners_count":21043490,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-09T17:09:59.416Z","updated_at":"2025-04-09T17:09:59.930Z","avatar_url":"https://github.com/threefoldtech.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# js-ng\n\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/threefoldtech/js-ng/development?filepath=docs%2Fnotebooks)\n![[https://pypi.python.org/pypi/js-ng](pypi)](https://img.shields.io/pypi/v/js-ng.svg)\n[![Actions Status](https://github.com/threefoldtech/js-ng/workflows/jsng-ci/badge.svg?query=branch%3Adevelopment)](https://github.com/threefoldtech/js-ng/actions?query=branch%3Adevelopment)\n[![[https://codecov.io/gh/threefoldtech/js-ng]](https://codecov.io/gh/threefoldtech/js-ng/branch/development/graph/badge.svg)](https://codecov.io/gh/threefoldtech/js-ng/branch/development)\n\nconfig management/automation framework\n\n## Principles\n\n- pip installable\n- facilities exposed under `loader object`: `j`\n- pluggable\n- docs and tests are as important as code\n\n## Contribution\n\n- Clean code (pep-8)\n- Documentation\n- Tests\n\n## Development environment\n\n- install [poetry](https://poetry.eustace.io)\n- clone this repository, then\n  - `poetry install`\n\n### Accessing the virtualenv\n\nTo access the virtual env `poetry shell`\n\n## Interacting with js-ng Environment\n\nif you are out of the virtualenv shell, make sure to prefix all of your commands with `poetry run`\n\n## Accessing jsng (custom shell)\n\njust type `jsng`.\n\nif you have any problems related to `setuptools`, just try to upgrade it before starting `jsng`.\n\n```bash\npython3 -m pip install setuptools -U\n```\n\n## Running tests\n\n- `make tests`\n\n## Generating docs\n\n- `make docs`\n\n## Generate tests docs\n\n- `make testdocs`\n\n## building dists\n\n- `poetry build`\n\n## releasing \u0026 publishing\n\n- Create a branch `development_VERSION`\n- Generate documentation `make docs`\n- Update js-ng version in `pyproject.toml` to the branch version\n- Create a pull request against the development branch\n- Merge the pull request into development\n- Create a pull request from development against the master branch\n- Merge the pull request into master\n- make sure to call `poetry build`\n- enter your api token `poetry config pypi-token.pypi your-api-token`\n- then publish to pypi using `poetry publish` (note that this requires to be on the publisher account)\n- now a [release can be added](https://github.com/threefoldtech/js-ng/releases/new) with a tag on master branch.\n\n## API Docs\n\n[browsable](https://threefoldtech.github.io/js-ng/api/jumpscale/) at [https://threefoldtech.github.io/js-ng/api/jumpscale/](https://threefoldtech.github.io/js-ng/api/jumpscale/)\n\n## Wiki\n\nWe already prepared a docsify [wiki](https://threefoldtech.github.io/js-ng/wiki) website\n\n## Contribution\n\n### Pre-commit\n\nWe use pre-commit to enforce certain coding style and checks while contributing to js-ng repository. Please make sure to install\n\n#### Installation\n\nIt's as easy as `python3 -m pip install pre-commit`\n\n#### Installing pre-commit hooks in the repository\n\nExecute `pre-commit install`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreefoldtech%2Fjs-ng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthreefoldtech%2Fjs-ng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreefoldtech%2Fjs-ng/lists"}