Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
d9311f1
created integration workflow file
nicolelink33 Jan 20, 2026
7795867
change formatting of branch list in build.yml
nicolelink33 Jan 20, 2026
b43595b
Merge pull request #47 from UBC-MDS/integration
hpalafoxp Jan 20, 2026
b06b7cf
minor edit to test workflow trigger
nicolelink33 Jan 20, 2026
ae494c2
moved workflows folder under .github folder
nicolelink33 Jan 20, 2026
73c43c5
Merge pull request #48 from UBC-MDS/integration
hpalafoxp Jan 20, 2026
7ab1ad5
Added deploy.yaml, and changed minor elements
hpalafoxp Jan 20, 2026
40c36ab
Merge pull request #49 from UBC-MDS/cdaction
nicolelink33 Jan 20, 2026
65499de
Some changes
hpalafoxp Jan 20, 2026
089a09a
Merge pull request #50 from UBC-MDS/cdaction-test
nicolelink33 Jan 20, 2026
607f8c9
Changed deploy.yaml
hpalafoxp Jan 21, 2026
1f1926f
Merge pull request #51 from UBC-MDS/cdaction-test2
hpalafoxp Jan 21, 2026
812b8e1
Changed deploy.yaml to only deploy on main
hpalafoxp Jan 21, 2026
d26297d
Merge pull request #52 from UBC-MDS/cdaction-test2
hpalafoxp Jan 21, 2026
3a75176
docs: add Quarto + quartodoc site skeleton
samrawitt12 Jan 24, 2026
c4a150b
ignore Quarto build output
samrawitt12 Jan 24, 2026
2ddb392
generate quartodoc reference pages
samrawitt12 Jan 24, 2026
7301487
Add GitHub Pages workflow for documentation
samrawitt12 Jan 24, 2026
fe177f5
run docs workflow on PRs
samrawitt12 Jan 24, 2026
c077375
fix docs workflow deploy condition
samrawitt12 Jan 24, 2026
7e756d3
update examples page
samrawitt12 Jan 24, 2026
db326a3
Fix docs build
samrawitt12 Jan 24, 2026
c94606c
add development instructions to README
samrawitt12 Jan 24, 2026
32dc64c
update Quarto docs config and examples
samrawitt12 Jan 24, 2026
27f850a
Merge pull request #54 from UBC-MDS/documentation
hpalafoxp Jan 25, 2026
53dff3b
Added new tests for checking workflows
hpalafoxp Jan 25, 2026
8af8dce
Changed README and toml for main pushing
hpalafoxp Jan 25, 2026
0d143ba
Merge pull request #56 from UBC-MDS/new-tests
nicolelink33 Jan 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# This is a basic workflow to help you get started with Actions

# Name of the workflow
name: CI

# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for
# the main branch
push:
branches: [ main , dev ]
pull_request:
branches: [ main , dev]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run
# sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13']

# Steps represent a sequence of tasks that will be executed as
# part of the job
steps:
# Checks-out your repository so your job can access it
- name: Check-out repository
uses: actions/checkout@v2

# Set up Python
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

# Install dependencies
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .[tests]

# Run pytest with coverage
- name: Run tests with coverage
run: |
pytest --cov --cov-report=term --cov-branch
112 changes: 112 additions & 0 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Workflow for publishing into pyPI

name: ci-cd

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:

jobs:
ci:
# Set up operating system
runs-on: ubuntu-latest

strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13']

# Steps represent a sequence of tasks that will be executed as
# part of the job
steps:
# Checks-out your repository so your job can access it
- name: Check-out repository
uses: actions/checkout@v2

# Set up Python
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

# Install dependencies
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .[tests]

# Run pytest with coverage
- name: Run tests with coverage
run: |
pytest --cov --cov-report=term --cov-branch

cd:

# Set up operating system
runs-on: ubuntu-latest

permissions:
id-token: write
contents: write
# Only run this job if the "ci" job passes
needs: ci

# Only run this job if new work is pushed to "main" or "dev"
if: github.event_name == 'push' && (github.ref == 'refs/heads/main')

# Define job steps
steps:
- name: Check-out repository
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up Python 3.12
uses: actions/setup-python@v4
with:
python-version: 3.12

# Install dependencies
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .[dev]

- name: Hatch build locally
run: hatch build

- name: Publish to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
password: ${{ secrets.TEST_PYPI_API_TOKEN }}

testdumbpy:

# Set up operating system
runs-on: ubuntu-latest

needs: cd

strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13']

steps:

- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Test install from TestPyPI
run: |
python -m pip install --upgrade pip
pip install \
--index-url https://test.pypi.org/simple/ \
--extra-index-url https://pypi.org/simple/ \
dumbpy



58 changes: 58 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: docs

on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: true

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

- uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install package + quartodoc + jupyter
run: |
python -m pip install --upgrade pip
pip install -e .
pip install quartodoc jupyter nbformat

- name: Generate reference pages
run: quartodoc build --config docs/_quarto.yml

- uses: quarto-dev/quarto-actions/setup@v2

- name: Render Quarto site
run: quarto render docs

- uses: actions/configure-pages@v5

- uses: actions/upload-pages-artifact@v3
with:
path: docs/_site

deploy:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- id: deployment
uses: actions/deploy-pages@v4
73 changes: 58 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
# Welcome to dumbpy

| | |
|------------------------------------|------------------------------------|
| Package | [![Latest PyPI Version](https://img.shields.io/pypi/v/dumbpy.svg)](https://pypi.org/project/dumbpy/) [![Supported Python Versions](https://img.shields.io/pypi/pyversions/dumbpy.svg)](https://pypi.org/project/dumbpy/) |
| Meta | [![Code of Conduct](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md) |

*TODO: the above badges that indicate python version and package version will only work if your package is on PyPI. If you don't plan to publish to PyPI, you can remove them.*

DumbPy is an alternative version of NumPy, which facilitates scientific computing using Python. DumbPy contains numeric functions that provide useful summary statistics of numerical lists, listed below. DumbPy additionally carries out strict input testing to provide clear and user-friendly error messages and facilitate proper usage.

DumbPy Functions:
Expand All @@ -21,18 +14,12 @@ DumbPy Functions:

As stated above, the NumPy package already exists and provides similar functions. NumPy can be found at the following link: <https://numpy.org/>. DumbPy is an alternative version, which is much simpler and has a narrower focus.

## Contributors

- Hector Prieto
- Nicole Link
- Samrawit Mezgebo

## Get started

You can install this package into your preferred Python environment using pip:

``` bash
$ pip install dumbpy
pip install dumbpy
```

To use dumbpy in your code:
Expand All @@ -43,7 +30,63 @@ To use dumbpy in your code:
2.0
```

## Contributors

- Hector Palafox
- Nicole Link
- Samrawit Mezgebo


## Development

**1) Clone the repository**
```bash
git clone https://github.com/UBC-MDS/dumbpy.git
cd dumbpy
```

**2) Create the conda environment**

```bash
conda env create -f environment.yml
```

**3) Activate the environment**

```bash
conda activate dumbpy-env
```

**4) Install the package locally**

```bash
python -m pip install -e .
```

**5) Run the test suite**

```bash
pytest
```

**6) Build the documentation**

```bash
cd docs
quarto render
```

**7) Preview the documentation locally(optional)**

```bash
quarto preview
```

Docs are deployed automatically via GitHub Actions on merges to the deployment branch.

Deployed docs: <add github pages url here>

## Copyright

- Copyright © 2026 Hector Palafox.
- Copyright © 2026 Hector Palafox, Nicole Link, Samrawit Mezgebo.
- Free software distributed under the [MIT License](./LICENSE).
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 6 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/.quarto/
**/*.quarto_ipynb

# Quarto build output
_site/
.quarto/
43 changes: 43 additions & 0 deletions docs/_quarto.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
project:
type: website

execute:
enabled: false

jupyter: python3

# tell quarto to read the generated sidebar + styles from quartodoc
metadata-files:
- reference/_sidebar.yml

format:
html:
theme: cosmo
toc: true
css:
- reference/_styles-quartodoc.css

website:
title: "dumbpy"
navbar:
left:
- href: index.qmd
text: Home
- href: examples.qmd
text: Examples
- href: reference/index.qmd
text: Reference

quartodoc:
package: dumbpy
sidebar: reference/_sidebar.yml
css: reference/_styles-quartodoc.css
sections:
- title: Public API
desc: Core functions exported by `dumbpy`.
contents:
- arithmetic_mean
- std_deviation
- median
- flatten_list
- validate_list
Loading