Skip to content

Commit

Permalink
Merge pull request #2 from entelecheia/entelecheia/issue1
Browse files Browse the repository at this point in the history
  • Loading branch information
entelecheia committed May 4, 2024
2 parents b9290e6 + c3d8336 commit 68aea1e
Show file tree
Hide file tree
Showing 49 changed files with 4,901 additions and 1 deletion.
48 changes: 48 additions & 0 deletions .copier-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Changes here will be overwritten by Copier; do NOT edit manually
_commit: v0.14.3
_src_path: gh:entelecheia/hyperfast-python-template
author: Young Joon Lee
build_and_release: true
code_template_answers_file: .copier-hyfi-config.yaml
code_template_source: gh:entelecheia/hyfi-template
codecov_graph_token: wwvt5uOSYi
copyright_year: 2024
documentaion_tool: jupyter-book
documentation_url: https://hyfi-lpg.entelecheia.ai
email: [email protected]
favicon_path: https://assets.entelecheia.ai/favicon.png
friendly_name: HyFI-LPG
github_repo_name: hyfi-lpg
github_username: entelecheia
google_analytics_id: G-VMN7QWCMSV
logo_path: ''
main_branch: main
open_link: false
package_name: hylpg
package_scripts:
- hylpg = 'hylpg.__cli__:main'
poe_task_files:
- .tasks.toml
- .tasks-extra.toml
project_description: 'HyFI-LPG is a powerful plugin for the HyFI framework, designed
to streamline the integration and utilization of large language models (LLMs)
in text processing and analysis tasks. This plugin aims to provide researchers
and practitioners with a seamless and efficient workflow, enabling them to harness
the full potential of LLMs for various applications.
With HyFI-LPG, users can easily incorporate state-of-the-art language models into
their projects, leveraging their advanced capabilities for natural language understanding,
generation, and manipulation. The plugin offers a user-friendly interface and
a comprehensive set of tools and utilities, making it accessible to both novice
and experienced users.'
project_license: MIT
project_name: hyfi-lpg
project_short_description: HyFI-LPG is a powerful HyFI plugin for seamless integration
and utilization of large language models in text processing and analysis tasks,
enabling efficient workflows for researchers and practitioners.
upload_to_release: true
upload_to_repository: true
use_launch_buttons: true
use_source_code_skeleton: true

7 changes: 7 additions & 0 deletions .copier-hyfi-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Changes here will be overwritten by Copier; do NOT edit manually
_commit: v0.7.0
_src_path: gh:entelecheia/hyfi-template
open_link: false
package_name: hylpg
project_name: hyfi-lpg

4 changes: 4 additions & 0 deletions .copierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.copierignore
.tasks-extra.toml
CHANGELOG.md
pyproject.toml
24 changes: 24 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Check http://editorconfig.org for more information

# top-most .editorconfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true
indent_style = space

[*.py]
profile = black

[Makefile]
indent_style = tab

[*.md]
trim_trailing_whitespace = false

[*.{yaml,yml}]
indent_size = 2
15 changes: 15 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
export PYTHON_KEYRING_BACKEND="keyring.backends.null.Keyring"
export PROJECT_NAME="hyfi-lpg"
PROJECT_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export PROJECT_ROOT
VIRTUAL_ENV="${WORKON_HOME}/${PROJECT_NAME}"
if [ -e "${VIRTUAL_ENV}/bin/activate" ]; then
# shellcheck disable=SC1091
source "${VIRTUAL_ENV}/bin/activate"
else
python3 -m venv "${VIRTUAL_ENV}"
# shellcheck disable=SC1091
source "${VIRTUAL_ENV}/bin/activate"
pip install --upgrade pip setuptools wheel
fi
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
27 changes: 27 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
time: "03:00"
timezone: "Asia/Seoul"
labels:
- ":game_die: dependencies"
- ":robot: bot"
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
time: "03:00"
timezone: "Asia/Seoul"
allow:
- dependency-type: "production"
labels:
- ":game_die: dependencies"
- ":robot: bot"
66 changes: 66 additions & 0 deletions .github/labels.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
# Labels names are important as they are used by Release Drafter to decide
# regarding where to record them in changelog or if to skip them.
#
# The repository labels will be automatically configured using this file and
# the GitHub Action https://github.com/marketplace/actions/github-labeler.
- name: breaking
description: Breaking Changes
color: bfd4f2
- name: bug
description: Something isn't working
color: d73a4a
- name: build
description: Build System and Dependencies
color: bfdadc
- name: ci
description: Continuous Integration
color: 4a97d6
- name: dependencies
description: Pull requests that update a dependency file
color: 0366d6
- name: documentation
description: Improvements or additions to documentation
color: 0075ca
- name: duplicate
description: This issue or pull request already exists
color: cfd3d7
- name: enhancement
description: New feature or request
color: a2eeef
- name: github_actions
description: Pull requests that update Github_actions code
color: "000000"
- name: good first issue
description: Good for newcomers
color: 7057ff
- name: help wanted
description: Extra attention is needed
color: 008672
- name: invalid
description: This doesn't seem right
color: e4e669
- name: performance
description: Performance
color: "016175"
- name: python
description: Pull requests that update Python code
color: 2b67c6
- name: question
description: Further information is requested
color: d876e3
- name: refactoring
description: Refactoring
color: ef67c4
- name: removal
description: Removals and Deprecations
color: 9ae7ea
- name: style
description: Style
color: c120e5
- name: testing
description: Testing
color: b1fc6f
- name: wontfix
description: This will not be worked on
color: ffffff
20 changes: 20 additions & 0 deletions .github/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
changelog:
exclude:
labels:
- ignore-for-release
authors:
- octocat
categories:
- title: Breaking Changes 🛠
labels:
- breaking
- title: Exciting New Features 🎉
labels:
- feature
- title: Fixes 🔧
labels:
- fix
- title: Other Changes
labels:
- "*"
43 changes: 43 additions & 0 deletions .github/workflows/deploy-docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
name: deploy-docs
on:
workflow_call:
workflow_dispatch:
push:
branches:
- main
# Paths can be used to only trigger actions when you have edited certain files, such as a file within the /docs directory
paths:
- "book/**"
- ".github/workflows/deploy-docs.yaml"

permissions:
contents: write

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: 3.9

# install the source code
- name: Install the source code
run: pip install .

# Build the book
- name: Build the book
run: |
pip install -r book/requirements.txt
jupyter-book build book
# Deploy the book's HTML to gh-pages branch
- name: GitHub Pages action
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: book/_build/html
cname: hyfi-lpg.entelecheia.ai
78 changes: 78 additions & 0 deletions .github/workflows/lint_and_test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
name: lint & test

on:
workflow_call:
workflow_dispatch:
push:
branches:
- "main"
paths:
- "src/**"
- "tests/**"

jobs:
build:
# Name the Job
name: test-code-base
# Set the agent to run on
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: [3.9]

steps:
# Checkout the code base #
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0

# install poetry
- name: Install poetry
run: pipx install poetry>=1.3.2

# set up python
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "poetry"

# initialize
- name: Initialize
run: make initialize

# install dependencies
- name: Install dependencies for linters
run: poe install-dev

# run linters
- name: Run linters
run: |
set -o pipefail
poe lint
# run unit tests
- name: Run unit-tests
run: |
set -o pipefail
poe tests-cov-fail
# add content to GitHub summary
- name: Pytest coverage GitHub summary
run: |
set -o pipefail
echo '# Coverage report' >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
cat tests/pytest-coverage.txt >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo '\n\n\n'
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }} # required
fail_ci_if_error: false # optional (default = false)
verbose: true # optional (default = false)
46 changes: 46 additions & 0 deletions .github/workflows/prerelease-to-test-pypi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
name: semantic-prerelease-to-test-pypi

on:
workflow_call:
workflow_dispatch:

permissions:
contents: write
issues: write
pull-requests: write

jobs:
build:
# Name the Job
name: prerelease
# Set the agent to run on
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: [3.9]

# Load all steps #
steps:
# Checkout the code base #
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0

# set env variable
- name: Set env variable
run: echo "BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV

# semantic release
- name: Python Semantic Release to Test PyPI
uses: relekang/python-semantic-release@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
repository_username: __token__
repository_password: ${{ secrets.TEST_PYPI_API_TOKEN }}
additional_options: --prerelease --verbosity=DEBUG --define=branch=${{ env.BRANCH }}
env:
REPOSITORY_URL: https://test.pypi.org/legacy/

Loading

0 comments on commit 68aea1e

Please sign in to comment.