Skip to content

Commit

Permalink
First release to PyPI
Browse files Browse the repository at this point in the history
  • Loading branch information
jodemaey committed Jun 18, 2023
1 parent e028211 commit 269c5b3
Show file tree
Hide file tree
Showing 27 changed files with 108 additions and 18 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -9,3 +9,5 @@ documentation/source/files/examples/.ipynb_checkpoints/
documentation/source/files/examples/*_files/
documentation/source/files/examples/*.rst
documentation/source/_build/
dist
*egg-info
2 changes: 1 addition & 1 deletion LICENSE.txt
@@ -1,7 +1,7 @@

The MIT License (MIT)

Copyright (c) 2020 qgs Developers and Contributors
Copyright (c) 2020-2023 qgs Developers and Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
36 changes: 32 additions & 4 deletions README.md
Expand Up @@ -2,6 +2,10 @@
Quasi-Geostrophic Spectral model (qgs)
======================================


[![PyPI version](https://badge.fury.io/py/qgs.svg)](https://badge.fury.io/py/qgs)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/qgs.svg)](https://pypi.org/project/qgs/)
[![PyPI Package download count (per month)](https://img.shields.io/pypi/dm/qgs)](https://pypi.org/project/qgs/)
[![DOI](https://zenodo.org/badge/246609584.svg)](https://zenodo.org/badge/latestdoi/246609584)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.02597/status.svg)](https://doi.org/10.21105/joss.02597)
[![Documentation Status](https://readthedocs.org/projects/qgs/badge/?version=latest)](https://qgs.readthedocs.io/en/latest/?badge=latest)
Expand All @@ -16,7 +20,7 @@ a 2-layer [quasi-geostrophic](https://en.wikipedia.org/wiki/Quasi-geostrophic_eq
atmosphere on a [beta-plane](https://en.wikipedia.org/wiki/Beta_plane), coupled to a simple land or
[shallow-water](https://en.wikipedia.org/wiki/Shallow_water_equations) ocean component.

![](./misc/figs/readme.gif)
![](https://github.com/Climdyn/qgs/blob/master/misc/figs/readme.gif?raw=true)

About
-----
Expand All @@ -25,7 +29,7 @@ About

Part of the code originates from the Python [MAOOAM](https://github.com/Climdyn/MAOOAM) implementation by Maxime Tondeur and Jonathan Demaeyer.

See [LICENSE.txt](./LICENSE.txt) for license information.
See [LICENSE.txt](https://raw.githubusercontent.com/Climdyn/qgs/master/LICENSE.txt) for license information.

**Please cite the code description article if you use (a part of) this software for a publication:**

Expand All @@ -38,7 +42,31 @@ Please consult the qgs [code repository](http://www.github.com/Climdyn/qgs) for
Installation
------------

The easiest way to run qgs is to use an appropriate environment created through [Anaconda](https://www.anaconda.com/).
#### With pip

The easiest way to install and run qgs is to use [pip](https://pypi.org/)

pip install qgs

and you are set!

Additionally, you can clone the repository

git clone https://github.com/Climdyn/qgs.git

and perform a test by running the script

python qgs/qgs_rp.py

to see if everything runs smoothly (this should take less than a minute).

> **Note:**
> With the pip installation, in order to be able to generate the movies with the diagnostics,
> you need to install separately [ffmpeg](https://ffmpeg.org/).
#### With Anaconda

The second easiest way to install and run qgs is to use an appropriate environment created through [Anaconda](https://www.anaconda.com/).

First install Anaconda and clone the repository:

Expand Down Expand Up @@ -139,7 +167,7 @@ qgs needs mainly:
* [Numba](https://numba.pydata.org/) for code acceleration
* [Sympy](https://www.sympy.org/) for symbolic manipulation of inner products

Check the yaml file [environment.yml](./environment.yml) for the dependencies.
Check the yaml file [environment.yml](https://raw.githubusercontent.com/Climdyn/qgs/master/environment.yml) for the dependencies.

Forthcoming developments
------------------------
Expand Down
2 changes: 1 addition & 1 deletion documentation/source/conf.py
Expand Up @@ -22,7 +22,7 @@
author = 'Jonathan Demaeyer, Lesley De Cruz and Oisín Hamilton'

# The full version, including alpha/beta/rc tags
release = 'v0.2.7' # temporary
release = 'v0.2.8' # temporary
version = release


Expand Down
2 changes: 1 addition & 1 deletion documentation/source/files/examples/DDV2016.ipynb
Expand Up @@ -223,7 +223,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Qgs v0.2.7 parameters summary\n",
"Qgs v0.2.8 parameters summary\n",
"=============================\n",
"\n",
"General Parameters:\n",
Expand Down
2 changes: 1 addition & 1 deletion documentation/source/files/examples/Hamiltonetal2023.ipynb
Expand Up @@ -228,7 +228,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Qgs v0.2.7 parameters summary\n",
"Qgs v0.2.8 parameters summary\n",
"=============================\n",
"\n",
"General Parameters:\n",
Expand Down
2 changes: 1 addition & 1 deletion documentation/source/files/examples/Lietal2017.ipynb
Expand Up @@ -184,7 +184,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Qgs v0.2.7 parameters summary\n",
"Qgs v0.2.8 parameters summary\n",
"=============================\n",
"\n",
"General Parameters:\n",
Expand Down
2 changes: 1 addition & 1 deletion documentation/source/files/examples/RP1982.ipynb
Expand Up @@ -185,7 +185,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Qgs v0.2.7 parameters summary\n",
"Qgs v0.2.8 parameters summary\n",
"=============================\n",
"\n",
"General Parameters:\n",
Expand Down
2 changes: 1 addition & 1 deletion documentation/source/files/examples/VSPD2019.ipynb
Expand Up @@ -206,7 +206,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Qgs v0.2.7 parameters summary\n",
"Qgs v0.2.8 parameters summary\n",
"=============================\n",
"\n",
"General Parameters:\n",
Expand Down
2 changes: 1 addition & 1 deletion documentation/source/files/examples/diffeq_example.ipynb
Expand Up @@ -223,7 +223,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Qgs v0.2.7 parameters summary\n",
"Qgs v0.2.8 parameters summary\n",
"=============================\n",
"\n",
"General Parameters:\n",
Expand Down
2 changes: 1 addition & 1 deletion documentation/source/files/examples/manual_basis.ipynb
Expand Up @@ -372,7 +372,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Qgs v0.2.7 parameters summary\n",
"Qgs v0.2.8 parameters summary\n",
"=============================\n",
"\n",
"General Parameters:\n",
Expand Down
2 changes: 1 addition & 1 deletion documentation/source/files/examples/tgls_example.ipynb
Expand Up @@ -189,7 +189,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Qgs v0.2.7 parameters summary\n",
"Qgs v0.2.8 parameters summary\n",
"=============================\n",
"\n",
"General Parameters:\n",
Expand Down
58 changes: 58 additions & 0 deletions pyproject.toml
@@ -0,0 +1,58 @@

# pyproject.toml

[build-system]
requires = ["setuptools", "wheel"]

[project]
requires-python = ">=3.8"
name = "qgs"
version = "0.2.8"
description = "A 2-layer quasi-geostrophic atmospheric model. Can be coupled to a simple land or shallow-water ocean component."
readme = "README.md"
authors = [
{ name = "qgs Developers and Contributors", email = "jodemaey@meteo.be" },
]
license = { file = "LICENSE.txt" }
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Operating System :: OS Independent",
"Development Status :: 5 - Production/Stable",
"Framework :: Jupyter",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Atmospheric Science",
]
keywords = ["meteorology", "climate", "climate-variability", "atmospheric-models", "ocean-atmosphere-model"]
dependencies = [
"ipython",
"jupyter",
"matplotlib>=3.4",
"numba",
"numpy",
"scipy",
"sympy",
"sparse",
"pebble",
]

[project.urls]
homepage = "https://github.com/Climdyn/qgs"
documentation = "https://qgs.readthedocs.io"

[tool.setuptools]
packages = ["qgs",
"qgs.basis",
"qgs.diagnostics",
"qgs.functions",
"qgs.inner_products",
"qgs.integrators",
"qgs.params",
"qgs.plotting",
"qgs.tensors",
"qgs.toolbox",
]
2 changes: 2 additions & 0 deletions qgs/__init__.py
@@ -0,0 +1,2 @@

__version__ = '0.2.8'
Empty file added qgs/basis/__init__.py
Empty file.
Empty file added qgs/diagnostics/__init__.py
Empty file.
Empty file added qgs/functions/__init__.py
Empty file.
Empty file added qgs/inner_products/__init__.py
Empty file.
Empty file added qgs/integrators/__init__.py
Empty file.
Empty file added qgs/params/__init__.py
Empty file.
2 changes: 1 addition & 1 deletion qgs/params/params.py
Expand Up @@ -1195,7 +1195,7 @@ def print_params(self):
if self.gotemperature_params is not None:
s += self.gotemperature_params._list_params() + "\n"

print("Qgs v0.2.7 parameters summary")
print("Qgs v0.2.8 parameters summary")
print("=============================\n")
print(s)

Expand Down
Empty file added qgs/plotting/__init__.py
Empty file.
Empty file added qgs/tensors/__init__.py
Empty file.
Empty file added qgs/toolbox/__init__.py
Empty file.
2 changes: 1 addition & 1 deletion qgs_maooam.py
Expand Up @@ -54,7 +54,7 @@ class Bcolors:
UNDERLINE = '\033[4m'


print("\n" + Bcolors.HEADER + Bcolors.BOLD + "Model qgs v0.2.7 (Atmosphere + ocean (MAOOAM) configuration)" + Bcolors.ENDC)
print("\n" + Bcolors.HEADER + Bcolors.BOLD + "Model qgs v0.2.8 (Atmosphere + ocean (MAOOAM) configuration)" + Bcolors.ENDC)
print(Bcolors.HEADER + "============================================================" + Bcolors.ENDC + "\n")
print(Bcolors.OKBLUE + "Initialization ..." + Bcolors.ENDC)
# ## Systems definition
Expand Down
2 changes: 1 addition & 1 deletion qgs_rp.py
Expand Up @@ -53,7 +53,7 @@ class Bcolors:
UNDERLINE = '\033[4m'


print("\n" + Bcolors.HEADER + Bcolors.BOLD + "Model qgs v0.2.7 (Atmosphere + orography configuration)" + Bcolors.ENDC)
print("\n" + Bcolors.HEADER + Bcolors.BOLD + "Model qgs v0.2.8 (Atmosphere + orography configuration)" + Bcolors.ENDC)
print(Bcolors.HEADER + "=======================================================" + Bcolors.ENDC + "\n")
print(Bcolors.OKBLUE + "Initialization ..." + Bcolors.ENDC)
# ## Systems definition
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Expand Up @@ -7,7 +7,7 @@ python>=3.8
scipy
sympy
sphinx
sphinx_rtd_theme
sphinx_rtd_theme>0.5.1
sparse
julia
diffeqpy
Expand Down

0 comments on commit 269c5b3

Please sign in to comment.