semvec/pypi-packages huggingface dataset:
pyappscan 1.0.2
Python REST API Wrapper for IBM/HCL Appscan, a tool which helps scan and report on website and mobile app vulnerabilities.
Requires Python: >=3.5.0

# About the Module

This python module is used in conjunction with IBM Appscan Enterprise REST API, and allows anyone to do a multitude of things with simple python code. If you would like something added to the program, you may make a pull request, or request that it be added in [the issues section.](https://github.com/arcsector/pyappscan/issues)

## Legal Disclaimer

Copyright 2022, by the California Institute of Technology. ALL RIGHTS RESERVED. United States Government Sponsorship acknowledged. Any commercial use must be negotiated with the Office of Technology Transfer at the California Institute of Technology.

This software may be subject to U.S. export control laws. By accepting this software, the user agrees to comply with all applicable U.S. export laws and regulations. User has the responsibility to obtain export licenses, or other export authority as may be required before exporting such information to foreign countries or providing access to foreign persons.

## Appscan Version Requirements

Your version of Appscan should be able to support the requisite API calls made by the library. This library is tested with Appscan v9.8.0+, however it is compatible with lower versions (though ymmv).

## Dependencies

- Python 3.5 or higher
- requests
- beautifulsoup4

Can be installed with:

```shell
pip install --user pyappscan
```

## How to Use

Use this module by importing the class first, then calling the method you would like to use. It is initiazized with the url to the appscan api, followed by the username, password, featurekey, and ssl cert path (for more information on the feature key, please look at the appscan api docs, which give different options. The default is `AppscanEnterpriseUser`). Usage:

```python
from pyappscan import create_engine
myClass = create_engine(
  'https://route-to-appscan-api.com:443/ase/api',
  username='user',
  password='pass',
  key='AppscanEnterpriseUser',
  verify='/var/www/mycerts/appscancert.crt'
)

# We can also use an API key to login
myClass = create_engine(
  'https://route-to-appscan-api.com:443/ase/api',
  apikey="ac6719683d871e173961ff",
  secretkey="secret-key",
  verify='/var/www/mycerts/appscancert.crt'
)
```

## Documentation

Check the [Documentation](https://arcsector.github.io/pyappscan/) for more information on class methods, return types, and API docs.
ease-lonlat 0.0.3.5
To convert between LON, LAT coordinates and EASE(2) grid ROW, COL.
Requires Python: >=3.6

# ease_lonlat
[![Build Status](https://travis-ci.com/CzendaZdenda/ease_lonlat.svg?branch=main)](https://travis-ci.com/CzendaZdenda/ease_lonlat) 

Small package to convert given geographic coordinates (longitude, latitude) to EASE(2)-grid coordinates (col, row) and vice versa.

This code is inspired by the 'easeconv-0.3' software, the EASE-Grid map transformation utilities Developed and distributed by the National Snow & Ice Data Center (NSIDC), University of Colorado at Boulder. But instead of defining projections and grids "from a scratch", the pyproj library and definition of grids from [NSIDC](https://nsidc.org/ease/ease-grid-projection-gt) have been used.

---

## MOTIVATION
Get SMOS (CATDS, 25km, global projection) row and col coordinates corresponding to the pixel of EASE2 grid with given lon-lat coordinates.

---

## SUPPORTED GRIDS
'N' stands for North Polar (Lambert's equal-area, azimuthal), 'S' for South Polar (Lambert's equal-area, azimuthal) and 'G' for Global (cylindrical, equal-area) projection.
3125km means pixel size of 3.125 km, 625 means 6.25 km and 125 means 12.5 km.

  - EASE2_G1km
  - EASE2_G3km, EASE2_N3km, EASE2_S3km
  - EASE2_G3125km, EASE2_N3125km, EASE2_S3125km
  - EASE2_G625km, EASE2_N625km, EASE2_S625km
  - EASE2_G9km, EASE2_N9km, EASE2_S9km
  - EASE2_G125km, EASE2_N125km, EASE2_S125km
  - EASE_G125km, EASE_N125km, EASE_S125km
  - EASE2_G25km, EASE2_N25km, EASE2_S25km
  - EASE_G25km, EASE_N25km, EASE_S25km
  - EASE2_G36km, EASE2_N36km, EASE2_S36km

## TESTED GRIDS
Tested on SMAP data. EASE2-grids - 9km (N, S, G), 36km (N, G).

## NOT TESTED GRIDS
If you can test this code on some of the not tested grids, I would appreciate if you do it and let me know :) Especially EASE grids.

  - EASE-grids - all.
  - EASE2-grids - 1km, 3km, 3.125km, 6.25km and 25km

## USAGE

```python
from ease_lonlat import EASE2GRID, SUPPORTED_GRIDS

# define new grid by yourself
grid = EASE2GRID(name='EASE2_G36km', epsg=6933, x_min=-17367530.45, y_max=7314540.83, res=36032.22, n_cols=964, n_rows=406)

# or using parameters taken from NSIDC and kept in SUPPORTED_GRIDS
grid = EASE2GRID(name='EASE2_G36km', **SUPPORTED_GRIDS['EASE2_G36km'])

# convert longitude and latitude to row and col indices
point_lon = 17.4
point_lat = 49.4

# row should be 48, col should be 528
col, row = grid.lonlat2rc(lon=point_lon, lat=point_lat)

# get lon, lat of the center of the pixel
pixel_center_lon, pixel_center_lat = grid.rc2lonlat(col=col, row=row)
```