Metadata-Version: 2.1
Name: circles-file-iterator
Version: 1.1.1
Summary: Allows to iterate over CyVerse CIRCLES files
Home-page: https://github.com/codingrosquick/circles_file_handler
Author: Noe Carras
Author-email: carras.noe@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
Requires-Dist: build
Requires-Dist: certifi
Requires-Dist: charset-normalizer
Requires-Dist: click
Requires-Dist: commonmark
Requires-Dist: DateTime
Requires-Dist: defusedxml
Requires-Dist: docutils
Requires-Dist: Flask
Requires-Dist: idna
Requires-Dist: importlib-metadata
Requires-Dist: itsdangerous
Requires-Dist: Jinja2
Requires-Dist: keyring
Requires-Dist: MarkupSafe
Requires-Dist: mysql-connector-python
Requires-Dist: numpy
Requires-Dist: packaging
Requires-Dist: pandas
Requires-Dist: pep517
Requires-Dist: pkginfo
Requires-Dist: prettytable
Requires-Dist: protobuf
Requires-Dist: Pygments
Requires-Dist: pyparsing
Requires-Dist: python-dateutil
Requires-Dist: python-irodsclient
Requires-Dist: pytz
Requires-Dist: readme-renderer
Requires-Dist: requests
Requires-Dist: requests-toolbelt
Requires-Dist: rfc3986
Requires-Dist: rich
Requires-Dist: six
Requires-Dist: tomli
Requires-Dist: twine
Requires-Dist: typing-extensions
Requires-Dist: urllib3
Requires-Dist: wcwidth
Requires-Dist: webencodings
Requires-Dist: Werkzeug
Requires-Dist: zipp
Requires-Dist: zope.interface

# File Iterator and IRODS Utility classes

This repo gives utility classes for handling file interactions with CIRCLES CyVerse.

It allows:
- Communication with CyVerse's fileshare (ls, cd, pwd)
- I/O Commands through IRODS
- Iterating over files from CyVerse
- Cache handling

*(version 1.1.1)*
- perform event analysis on a file
- perform event analysis on all the files of a file exploration


## External links

To see examples of usage of this package, you can go to: https://github.com/codingrosquick/file_iterator_code_examples

To see the published package on PyPI, go to: https://pypi.org/project/circles-file-iterator/



## CONFIGURATION [if pulled repostory from PyPI]

To install everything properly, run the following command:
```
python3 -m circles_file_iterator
```


## Rebuilding the package for PyPI

To rebuild the package for publishing, do the following steps:
1. Go to ```setup.py```, increase the version number.
2. Do the same in ```circles_file_iterator/__init__.py```
3. Run the following command to build the executable:
```
python3 -m build
```
4. Run the following command to push those changes to PyPI
```
twine upload --repository pypi dist/* --verbose
```







## CONFIGURATION [if pulled repostory from GitHub]

*QUICKNOTE:* Some of this configuration may be outdated or not stable depending on your os.

You don't need to bother with those configurations if you pull this as a package from PyPI.


### Install the packages

To install the required packages, simply run in the terminal:
```
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```

### IRODS environment

To connect to CyVerse, you need your profile to be set.To retrieve this profile, the irods client tries:
    1. Using the configuration file located in ~/.irods/irods_environment.json
    2. If not located, the file given by the environment variable IRODS_ENVIRONMENT_FILE

WARNING: If your access to CyVerse through IRODS already works locally, there would be no need to do this step.

Once this has been done one time, there will be no need for using this method on local machines.

If you are working within Docker containers or VMs environment, you may need to call this at the beginning of each task.


### Cache folders

To configure the cache, open the file ```/global_variables/global_variables.py```.

Then set the variable ```local_path``` to the root of the folder you will be working into.
Check out the file ```example_irods``` for an example of such configuration.









