https://github.com/bamresearch/yapy-copier-template

Yet Another Python Copier template for a Python modules and applications focussing on data science, processing and analysis.

https://github.com/bamresearch/yapy-copier-template

Science Score: 26.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
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Yet Another Python Copier template for a Python modules and applications focussing on data science, processing and analysis.

Basic Info
  • Host: GitHub
  • Owner: BAMresearch
  • License: mit
  • Language: Jinja
  • Default Branch: main
  • Size: 85 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 14
Created 11 months ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

README.md

yapy-copier-template (v1.1.11)

Yet Another Python Copier template for a Python modules and applications focussing on data science, processing and analysis.

Usage

  1. In your python environment, install the required packages first. A list is provided in requirements.txt:

    pip install -r requirements.txt
    
  2. The create a new project scaffolding in the to-be-created directory my-test-project, run:

    copier copy yapy-copier-template my-test-project
    
  3. Finally, init version control in that directory:

    cd my-test-project
    git init
    git add -A
    git commit -m "initial import"
    
  4. Optionally, set the remote of the repository to a server where you created this respective project and push the changes up to now:

    git remote add <URL of the repository>
    git push origin --set-upstream main
    

Publishing documentation

For the target repository where this template was applied on, first create an empty gh-pages branch for publishing. This is how to make an orphan branch with no history and no files initially:

  1. Create the orphan gh-pages branch (a new root branch with no commit history):

    git switch --orphan gh-pages
    
  2. Remove all tracked files from the staging area and working directory:

    git rm --cached -r .
    git clean -fd
    
  3. Create an initial empty commit (or add minimal files like an empty index.html):

    git commit --allow-empty -m "Initial empty gh-pages commit"
    
  4. Push the new branch to GitHub and set it as the upstream branch:

    git push -u origin gh-pages
    

This creates a clean, empty gh-pages branch that you can later add your static site files to for GitHub Pages publishing.

Summary command sequence:

git switch --orphan gh-pages
git rm --cached -r .
git clean -fd
git commit --allow-empty -m "Initial empty gh-pages commit"
git push -u origin gh-pages

After this, on your GitHub repository under Settings -> Pages, choose the gh-pages branch as the source to enable publishing.

This method ensures your gh-pages branch is completely separate and empty initially, good for publishing static content without mixing with your main codebase.

Publishing Python packages

The publish job of the GitHub Action Workflows which come with this template will attempt to upload built packages to PyPI or TestPyPi, depending on your choice in the questionaire.

For this to succeed, you will need to create an account on the respective platform and add a new For this to succeed, you will need to create an account on the respective platform and add a new *Trusted Publisher via Your Account -> Publishing. It needs to know the

- PyPI Project Name, lower case name without spaces, dashes instead of underscore
- Repository Owner, user or organization where the repo is hosted, `repo_userorg` in `.copier-answers.yml`
- Repository name, asked for in the questionaire: `repo_name` in `.copier-answers.yml`
- Workflow name, here it'll be the top-most workflow file `ci-cd.yml`

Owner

  • Name: Bundesanstalt für Materialforschung und -prüfung
  • Login: BAMresearch
  • Kind: organization
  • Email: oss@bam.de
  • Location: Berlin/Germany

German Federal scientific research institute for materials testing and research

GitHub Events

Total
  • Release event: 8
  • Push event: 19
  • Create event: 6
Last Year
  • Release event: 8
  • Push event: 19
  • Create event: 6

Dependencies

.github/workflows/ci-cd.yml actions
.github/workflows/release.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/tests.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
requirements.txt pypi
  • copier *
  • jinja2-time *
{{repo_name}}/ci/requirements.txt pypi
  • build *
  • pip >=19.1.1
  • pytest-cov *
  • python-semantic-release *
  • six >=1.14.0
  • toml *
  • tox *
  • twine *
  • virtualenv >=16.6.0
{{repo_name}}/tests/requirements.txt pypi
  • ipykernel * test
  • ipywidgets * test
  • matplotlib * test
  • notebook * test
  • pandas * test
  • scipy * test