semvec/pypi-packages huggingface dataset:
fbs-autobook-at-hkust 1.0.4
Auto book facilities through the HKUST FBS.
Requires Python: >=3.10,<4.0

# FBS AutoBook @ HKUST

FBS AutoBook @ HKUST is a Python & Streamlit app that automates booking facilities through the HKUST Facility Booking
System (FBS).

## Prerequisites

- Python <br>
  *I use Python 3.11 for development, but I guess Python 3.10 / 3.9 should work fine too.*
- Chrome Browser <br>
  *For automate logging in to FBS (since there are some restrictions on the login process). I use Chrome 116.0, and I
  think any Chrome version should work.*

## Usage

Install the package through pip:

```commandline
pip install fbs-autobook-at-hkust
```

After successful installation, run the app with the following command:

```commandline
fbs-autobook-at-hkust
```

You shall see your browser window open with the app running.

## Overview

The app has the following pages:

### Welcome Page

Users can login with their ITSC credentials or a saved token. A disclaimer highlights that use of the app is at the
user's own risk and may contradict HKUST's booking requirements.

### Choose Facilities, Timeslot Date & Time Range

Users select which facilities to book, along with the desired booking date and time range. The app retrieves all
available timeslots matching the criteria for future booking attempts.

### Review and Confirm

A summary of the selected facilities and timeslots is shown for the user to review and confirm before proceeding. If FBS
is open, the app shows the actual available timeslots. Otherwise, it displays the user-specified date and time range.

### Book

The app automatically attempts to book the selected timeslots when they become available. Unavailability is often due to
FBS closure or the 7-day advance booking limit. The result of each booking attempt is displayed as a success or failure
message.

## Features

- Automated booking of multiple facilities when timeslots open up
- Login with ITSC credentials / token
- Custom selection of facilities, timeslot date and timeslot time range
- Review & Confirm the facilities before booking
- Status updates during booking process
- Messages on successful / fail bookings with reasons

## Tech Stack

- Python
- Streamlit for app UI

## Disclaimer

This app contradicts HKUST's requirement for manual booking. Use at your own risk! The developer is not responsible for
any consequences.
zcross 0.0.21
An utility to read low-pressure gaseous cross sections data
Requires Python: >=3.0

# ZCross

ZCross is a python library used to read low pressure gas sections from various sources like [LXCat](https://lxcat.net/home/).

## Installation

To install this package just use pip:
``` shell
pip install zcross
```

Cross section databases are not provided by `ZCross`: however, it is possible to download the cross section tables of interest from the [download section](https://nl.lxcat.net/data/download.php) of [LXCat](https:://www.lxcat.net).
Once you download the cross sections in `XML` format, you can save it somewhere (we suggest under `/opt/zcross_data`) and to define an enviroment variable pointing to that path:
``` bash
export ZCROSS_DATA=/opt/zcross_data
```
(you can add it to your `.profile` file)

## Examples

List the database availables:
``` python
import zcross

zs = zcross.load_all()
# be patient, it will take a while ...

for z in zs:
	print(z.database)
```
		
Show the groups and references of a speficic database:
``` python
import zcross

z = zcross.load_by_name('ccc')

for group in z.database:
	print(group)

for reference in z.database.references:
	print('[{}]:'.format(reference.type))
	for k,v in reference.items():
	   print('  {:<10} : {}'.format(k,v))
```
		
Show the process of a specific group:
``` python
import zcross

z = zcross.load_by_name('itikawa')

group      = z.database[0]

for process in group:
	print("Process {}: {}".format(process.id, process.get_simple_type()))
	print("Comment: {}\n".format(process.comment))
```
	
Show the cross section table of a specific process:
``` python
import zcross

z = zcross.load_by_name('phelps')

process    = z.database['H2O'][5]

print('Reaction:')
print(process.get_reaction())

print('Energy [{}],\tArea [{}]'.format(process.energy_units, process.cross_section_units))

for energy, area in process:
	print('{:8.2f}\t{:e}'.format(energy, area))
```