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 authored Jul 9, 2024
2 parents 238dd56 + db63383 commit ff7c702
Show file tree
Hide file tree
Showing 31 changed files with 430 additions and 175 deletions.
32 changes: 18 additions & 14 deletions .copier-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,38 @@ author: Young Joon Lee
build_and_release: true
code_template_answers_file: .copier-hyfi-config.yaml
code_template_source: ''
codecov_graph_token: usYkLC6aBx
codecov_graph_token: FZ6rvEttdM
copyright_year: 2024
documentaion_tool: jupyter-book
documentation_url: https://entelecheia.github.io/course-template-i18n
documentation_url: https://nlp4ss.entelecheia.ai
email: entelecheia@hotmail.com
favicon_path: https://assets.entelecheia.ai/favicon.png
friendly_name: Course Template Internationalization
github_repo_name: course-template-i18n
friendly_name: NLP for Social Science
github_repo_name: nlp4ss
github_username: entelecheia
google_analytics_id: G-BQJE5V9RK2
logo_path: ''
main_branch: main
open_link: true
package_name: coursetempi
package_name: nlp4ss
package_scripts:
- coursetempi = 'coursetempi.__cli__:main'
- nlp4ss = 'nlp4ss.__cli__:main'
poe_task_files:
- .tasks.toml
- .tasks-extra.toml
project_description: This project provides a comprehensive and flexible template for
creating and managing multilingual online courses. It leverages GitHub for version
control and Jupyter Book for interactive content delivery, enabling educators
to easily develop, maintain, and share their educational materials across different
languages and cultures.
project_description: NLP for Social Science (nlp4ss) is a comprehensive, multilingual
course and toolkit designed to bridge the gap between natural language processing
(NLP) and social science research. This project provides researchers, students,
and practitioners with the knowledge and tools to apply cutting-edge NLP techniques
to social science questions. It covers a wide range of topics, including text
preprocessing, sentiment analysis, topic modeling, and machine learning applications
in social contexts. With interactive Jupyter notebooks, hands-on examples, and
real-world case studies, nlp4ss offers a practical approach to integrating computational
methods into social science research.
project_license: CC-BY-4.0
project_name: course-template-i18n
project_short_description: Multilingual course creation template with interactive
documentation support for international audiences
project_name: nlp4ss
project_short_description: A course on applying natural language processing (NLP)
techniques for social science research.
upload_to_release: true
upload_to_repository: true
use_launch_buttons: true
Expand Down
8 changes: 4 additions & 4 deletions .copier-docker-config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Changes here will be overwritten by Copier; do NOT edit manually
_commit: v0.31.0
_src_path: gh:entelecheia/hyperfast-docker-template
app_dirname: course_temp
app_dirname: nlp4ss
app_install_root: /workspace
author: Young Joon Lee
build_images_from_dockerfile: true
Expand All @@ -15,8 +15,8 @@ docker_container_uid: 9001
docker_container_username: dev
docker_image_variant_name: base
docker_image_version_variable_name: IMAGE_VERSION
docker_name_prefix: COURSE_TEMP
docker_project_name: course-template-i18n
docker_name_prefix: NLP4SS
docker_project_name: nlp4ss
docker_registry: ghcr.io
docker_run_command: zsh
docker_service_name: workspace
Expand All @@ -25,7 +25,7 @@ docker_username: entelecheia
email: entelecheia@hotmail.com
enable_nvidia_gpu: true
friendly_name: Course Template
github_repo_name: course-template-i18n
github_repo_name: nlp4ss
github_username: entelecheia
install_dotfiles: true
jupyter_host_port: 19871
Expand Down
4 changes: 2 additions & 2 deletions .docker/Dockerfile.base
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
FROM ghcr.io/entelecheia/devcon:latest-cuda-12.1.0-ubuntu22.04 AS builder

# Sets labels for the image
LABEL org.opencontainers.image.source="https://github.com/entelecheia/course-template-i18n"
LABEL org.opencontainers.image.source="https://github.com/entelecheia/nlp4ss"
LABEL org.opencontainers.image.description="A template for a course"
LABEL org.opencontainers.image.licenses="MIT"

Expand All @@ -13,7 +13,7 @@ ENV PYTHONUNBUFFERED 1

# Setting ARGs and ENVs for the app
ARG ARG_APP_INSTALL_ROOT="/workspace"
ARG ARG_APP_DIRNAME="course_temp"
ARG ARG_APP_DIRNAME="nlp4ss"
ENV APP_INSTALL_ROOT $ARG_APP_INSTALL_ROOT
ENV APP_DIRNAME $ARG_APP_DIRNAME
ENV APP_SRC_DIR=${APP_INSTALL_ROOT}/${APP_DIRNAME}
Expand Down
12 changes: 6 additions & 6 deletions .docker/docker.base.env
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ BUILD_FROM="ghcr.io/entelecheia/devcon:latest-cuda-12.1.0-ubuntu22.04"

# docker run: Configuration parameters for running the Docker container
CONTAINER_LAUNCH_SCRIPT="${CONTAINER_WORKSPACE_ROOT}/scripts/launch.sh" # The name of the launch script
CONTAINER_CUDA_DEVICE_ID=${COURSE_TEMP_CUDA_DEVICE_ID:-"6"} # The ID of the CUDA device to use, e.g. all, 0, 1, 2, etc.
CONTAINER_CUDA_DEVICE_ID=${NLP4SS_CUDA_DEVICE_ID:-"6"} # The ID of the CUDA device to use, e.g. all, 0, 1, 2, etc.
CONTAINER_SSH_PORT=${SSH_PORT:-"22"} # The SSH port in the Docker container
HOST_SSH_PORT=${COURSE_TEMP_HOST_SSH_PORT:-"2341"} # The SSH port on the host machine to be mapped to the container's SSH port
HOST_SSH_PORT=${NLP4SS_HOST_SSH_PORT:-"2341"} # The SSH port on the host machine to be mapped to the container's SSH port
CONTAINER_JUPYTER_PORT=${JUPYTER_PORT:-"8585"} # The Jupyter port in the Docker container
HOST_JUPYTER_PORT=${COURSE_TEMP_HOST_JUPYTER_PORT:-"19871"} # The Jupyter port on the host machine to be mapped to the container's Jupyter port
CONTAINER_JUPYTER_TOKEN=${COURSE_TEMP_JUPYTER_TOKEN:-""} # The Jupyter token to use
CONTAINER_SERVICE_NAME=${COURSE_TEMP_SERVICE_NAME:-"app"} # The server name (optional, can be left empty)
HOST_JUPYTER_PORT=${NLP4SS_HOST_JUPYTER_PORT:-"19871"} # The Jupyter port on the host machine to be mapped to the container's Jupyter port
CONTAINER_JUPYTER_TOKEN=${NLP4SS_JUPYTER_TOKEN:-""} # The Jupyter token to use
CONTAINER_SERVICE_NAME=${NLP4SS_SERVICE_NAME:-"app"} # The server name (optional, can be left empty)
CONTAINER_WEB_SVC_PORT=${WEB_SVC_PORT:-"8080"} # The Web service port in the Docker container
HOST_WEB_SVC_PORT=${COURSE_TEMP_HOST_WEB_SVC_PORT-"18761"} # The Web service port on the host machine to be mapped to the container's Web service port
HOST_WEB_SVC_PORT=${NLP4SS_HOST_WEB_SVC_PORT-"18761"} # The Web service port on the host machine to be mapped to the container's Web service port
6 changes: 3 additions & 3 deletions .docker/docker.common.env
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# Configuration parameters for the docker project #
# Change the variables below to your need: #
#########################################################
APP_INSTALL_ROOT=${COURSE_TEMP_INSTALL_ROOT:-"/workspace"} # The directory in the container where the project will be installed or cloned
APP_DIRNAME=${COURSE_TEMP_DIRNAME:-"course_temp"} # The directory name for the cloned project
APP_INSTALL_ROOT=${NLP4SS_INSTALL_ROOT:-"/workspace"} # The directory in the container where the project will be installed or cloned
APP_DIRNAME=${NLP4SS_DIRNAME:-"nlp4ss"} # The directory name for the cloned project
APP_SRC_DIR=${APP_INSTALL_ROOT}/${APP_DIRNAME}
APP_VIRTUAL_ENV=${APP_INSTALL_ROOT}/.venvs/${APP_DIRNAME}
APP_WORKSPACE_ROOT=${APP_INSTALL_ROOT}/workspace
Expand All @@ -28,7 +28,7 @@ HOST_HF_HOME=${HOST_HF_HOME:-"$HOST_CACHE_DIR/huggingface"}
# change the variables above to your need #
#######################################################################################
# docker build: Configuration parameters for building the Docker image
DOCKER_PROJECT_NAME=${APP_NAME:-"course-template-i18n"} # The base name of the Docker image.
DOCKER_PROJECT_NAME=${APP_NAME:-"nlp4ss"} # The base name of the Docker image.
DOCKER_PROJECT_ID=${DOCKER_PROJECT_ID:-"default"} # The project ID associated with the Docker image to support multiple projects
DOCKER_USERNAME=${DOCKER_USERNAME:-"entelecheia"} # The username for Docker.
IMAGE_VERSION=${IMAGE_VERSION:-"1.0.0"} # The version of the Docker image. If not set, "1.0.0" will be used.
Expand Down
2 changes: 1 addition & 1 deletion .envrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
export PYTHON_KEYRING_BACKEND="keyring.backends.null.Keyring"
export PROJECT_NAME="course-template-i18n"
export PROJECT_NAME="nlp4ss"
PROJECT_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export PROJECT_ROOT
VIRTUAL_ENV="${WORKON_HOME}/${PROJECT_NAME}"
Expand Down
25 changes: 25 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.10"
jobs:
pre_build:
# Generate on-the-fly Sphinx configuration from Jupyter Book's _config.yml
- "jupyter-book config sphinx book/"

formats:
- pdf
- epub

# Optionally declare the Python requirements required to build your docs
python:
install:
- requirements: book/requirements.txt
2 changes: 1 addition & 1 deletion .tasks.toml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ sequence = ["clean-cov", "clean-pycache", "clean-build", "clean-docs"]
help = "remove build artifacts and coverage reports"

[tool.poe.tasks.run]
cmd = "coursetempi"
cmd = "nlp4ss"
help = "run the main program"

[tool.poe.tasks.build]
Expand Down
28 changes: 0 additions & 28 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,29 +1 @@
<!--next-version-placeholder-->

## v0.2.0 (2024-07-08)

### Feature

* **language_switcher:** Add language switcher functionality in multiple locations ([`5fce548`](https://github.com/entelecheia/course-template-i18n/commit/5fce548c5f291dcfdf147347722d950e8d6526a4))
* **language:** Add language selector and post-processing script ([`c1e30f3`](https://github.com/entelecheia/course-template-i18n/commit/c1e30f331738e878134bfc921c4531a6ab3bf2b8))
* **build:** Add build script for books with language support ([`d23760c`](https://github.com/entelecheia/course-template-i18n/commit/d23760c65b86512889313492dce24dc8f47b02ab))
* **book:** Add publish script for building HTML ([`abdc4f1`](https://github.com/entelecheia/course-template-i18n/commit/abdc4f1e36f5f8b29980a63bebd4e09e53375e99))
* **language_redirect:** Add language-based redirection logic ([`3b1f44b`](https://github.com/entelecheia/course-template-i18n/commit/3b1f44b3b6c58dd984fceddf4b37ae214698a8d8))
* **language-selector:** Add CSS styles for language selector ([`b6c6dae`](https://github.com/entelecheia/course-template-i18n/commit/b6c6daebacc28f99d3cab16bc833959d221060a7))
* **book:** Add Google Fonts integration ([`f44d6d7`](https://github.com/entelecheia/course-template-i18n/commit/f44d6d70191be5e3e34aac4ab46233b4efc9ba9f))
* **language-selector:** Add styles for language selector ([`536f8cb`](https://github.com/entelecheia/course-template-i18n/commit/536f8cbaa7c70a87378bebe5eff7299883094193))

### Fix

* **docs:** Update build script in deploy workflow ([`5c80307`](https://github.com/entelecheia/course-template-i18n/commit/5c80307549b6471ad426b09e3c850451482928c8))
* **lang-redirect:** Correct redirection URL to include index.html ([`558959a`](https://github.com/entelecheia/course-template-i18n/commit/558959ab07188d011d47c5ca1cfbb8aa8e3b4a98))

## v0.1.0 (2024-07-07)

### Feature

* **config:** Update project to support internationalization ([`f9bfc0c`](https://github.com/entelecheia/course-template-i18n/commit/f9bfc0c992afcfb59c9ee092a028b3e172bc5b3f))

### Fix

* **makefile:** Correct file paths in remove-template target ([`2a16e79`](https://github.com/entelecheia/course-template-i18n/commit/2a16e796626bb158338f667290e013f6f8875b35))
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ and "help wanted" is open to whoever wants to implement it.

## Write Documentation

Course Template Internationalization could always use more documentation, whether as part of the
official Course Template Internationalization docs, in docstrings, or even on the web in blog posts,
NLP for Social Science could always use more documentation, whether as part of the
official NLP for Social Science docs, in docstrings, or even on the web in blog posts,
articles, and such.

## Submit Feedback
Expand All @@ -42,7 +42,7 @@ If you are proposing a feature:

## Get Started

Ready to contribute? Here's how to set up `Course Template Internationalization` for local development.
Ready to contribute? Here's how to set up `NLP for Social Science` for local development.

1. Fork the repo on GitHub.
2. Clone your fork locally.
Expand All @@ -52,4 +52,4 @@ Ready to contribute? Here's how to set up `Course Template Internationalization`

## Code of Conduct

Please note that the Course Template Internationalization project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By contributing to this project you agree to abide by its terms.
Please note that the NLP for Social Science project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By contributing to this project you agree to abide by its terms.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@ initialize: install-pipx ## initialize the project environment
@pre-commit install

remove-template: ## remove template-specific files
@rm -rf src/coursetempi
@rm -rf tests/coursetempi
@rm -rf src/nlp4ss
@rm -rf tests/nlp4ss
@rm -rf CHANGELOG.md
@echo "Template-specific files removed."

Expand Down
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Course Template Internationalization
# NLP for Social Science

[![pypi-image]][pypi-url]
[![version-image]][release-url]
Expand All @@ -8,30 +8,30 @@
[![jupyter-book-image]][docs-url]

<!-- Links: -->
[codecov-image]: https://codecov.io/gh/entelecheia/course-template-i18n/branch/main/graph/badge.svg?token=usYkLC6aBx
[codecov-url]: https://codecov.io/gh/entelecheia/course-template-i18n
[pypi-image]: https://img.shields.io/pypi/v/course-template-i18n
[license-image]: https://img.shields.io/github/license/entelecheia/course-template-i18n
[license-url]: https://github.com/entelecheia/course-template-i18n/blob/main/LICENSE
[version-image]: https://img.shields.io/github/v/release/entelecheia/course-template-i18n?sort=semver
[release-date-image]: https://img.shields.io/github/release-date/entelecheia/course-template-i18n
[release-url]: https://github.com/entelecheia/course-template-i18n/releases
[codecov-image]: https://codecov.io/gh/entelecheia/nlp4ss/branch/main/graph/badge.svg?token=FZ6rvEttdM
[codecov-url]: https://codecov.io/gh/entelecheia/nlp4ss
[pypi-image]: https://img.shields.io/pypi/v/nlp4ss
[license-image]: https://img.shields.io/github/license/entelecheia/nlp4ss
[license-url]: https://github.com/entelecheia/nlp4ss/blob/main/LICENSE
[version-image]: https://img.shields.io/github/v/release/entelecheia/nlp4ss?sort=semver
[release-date-image]: https://img.shields.io/github/release-date/entelecheia/nlp4ss
[release-url]: https://github.com/entelecheia/nlp4ss/releases
[jupyter-book-image]: https://jupyterbook.org/en/stable/_images/badge.svg

[repo-url]: https://github.com/entelecheia/course-template-i18n
[pypi-url]: https://pypi.org/project/course-template-i18n
[docs-url]: https://entelecheia.github.io/course-template-i18n
[changelog]: https://github.com/entelecheia/course-template-i18n/blob/main/CHANGELOG.md
[contributing guidelines]: https://github.com/entelecheia/course-template-i18n/blob/main/CONTRIBUTING.md
[repo-url]: https://github.com/entelecheia/nlp4ss
[pypi-url]: https://pypi.org/project/nlp4ss
[docs-url]: https://nlp4ss.entelecheia.ai
[changelog]: https://github.com/entelecheia/nlp4ss/blob/main/CHANGELOG.md
[contributing guidelines]: https://github.com/entelecheia/nlp4ss/blob/main/CONTRIBUTING.md
<!-- Links: -->

Multilingual course creation template with interactive documentation support for international audiences
A course on applying natural language processing (NLP) techniques for social science research.

- Documentation: [https://entelecheia.github.io/course-template-i18n][docs-url]
- GitHub: [https://github.com/entelecheia/course-template-i18n][repo-url]
- PyPI: [https://pypi.org/project/course-template-i18n][pypi-url]
- Documentation: [https://nlp4ss.entelecheia.ai][docs-url]
- GitHub: [https://github.com/entelecheia/nlp4ss][repo-url]
- PyPI: [https://pypi.org/project/nlp4ss][pypi-url]

This project provides a comprehensive and flexible template for creating and managing multilingual online courses. It leverages GitHub for version control and Jupyter Book for interactive content delivery, enabling educators to easily develop, maintain, and share their educational materials across different languages and cultures.
NLP for Social Science (nlp4ss) is a comprehensive, multilingual course and toolkit designed to bridge the gap between natural language processing (NLP) and social science research. This project provides researchers, students, and practitioners with the knowledge and tools to apply cutting-edge NLP techniques to social science questions. It covers a wide range of topics, including text preprocessing, sentiment analysis, topic modeling, and machine learning applications in social contexts. With interactive Jupyter notebooks, hands-on examples, and real-world case studies, nlp4ss offers a practical approach to integrating computational methods into social science research.

## Changelog

Expand Down
Loading

0 comments on commit ff7c702

Please sign in to comment.