Xerparser

Latest version: v0.13.4

Safety actively analyzes 710445 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 8

0.9.2

Added

* Added function `file_reader` which accepts a .xer file and reads it to a string object.
* Accepts str or Path objects for files stored locally or on a server.
* Accepts BinaryIO files from requests, Flask, FastAPI, etc...
* Added classmethods `reader` to the `Xer` class. A .xer file can be passed directly to this method, which will read and decode the file, and return a `Xer` object. Uses the `file_reader` function above.

Changed

* Changed name of function `xer_to_dict` to `parser`.

---

0.9.1

Updated `CorruptXerFile` Exception to receive the list of errors and print them out when the exception is raised. The errors can now be accessed from the Exception when using `try` `except`.

python
try:
xer = Xer(file_contents)
except CorruptXerFile as e:
for error in e.errors:
print(error)


---

0.9.0

General Notes

Remove `error` attribute from `xer` class. If the errors are encoutered during initialization of an `xer` object, then a `CorruptXerFile` Exception is raised.

Added

* `find_xer_errors` function. Error checking for the file is now its own function that that can find errors in an xer file and povide the results in a list.
* Error checking now looks for invalid `rsrc_id` assigned to a `TASKRSRC` object.

Removed

The option for None type on the following items was originally done to avoid Exceptions being thrown if the file is corrupted. This created additional code to handle situations when the attributes equal None.
* Removed option for `calendar` attribute of the `TASK` class to be type `None`; All `TASK` objects must have a `calendar` or the `CorruptXerFile` Exception is raised.
* Removed option for the `resource` attribute of the `TASKRSRC` class to be type `None`; all `TASKRSRC` objects must have a `resource` or the `CorruptXerFile` Exception is raised.

---

0.8.2

Added

* Added `actual_total_cost` property to `TASKFIN` class
* Added `late_start` property to `PROJECT` class

Changes

* `TASK` method `rem_hours_per_day` can now accept a `late` flag (bool) to calculate late dates rather than early dates.

---

0.8.1

General Notes

Refactor / cleanup code.
Working on functionality to generate cost loading projections.

Added

* Added `rem_hours_per_day` method to `TASK` class. This return a dict with date: workhour key value pairs. This function was originally contained within the `calendar.py` module, but was not being used. Makes more sense to have it as a `TASK` method.
* Added `base_calendar` attribute to `CALENDAR` class. The `is_workday` function will now search the `base_calendar` for holidays when determining if a date is a workday.

Changed

* `remain_drtn_hr_cnt` attribute of `TASK` no longer allows `None` type.
* `finish` property of `TASK` will now check for `reend_date` and return it before it returns `early_end_date`

---

0.8.0

General Notes

Added parsing of User Defined Fields (UDF). [Issue 4](https://github.com/jjCode01/xerparser/issues/4)
Expanded testing for more coverage.
Refactor / clean up code for initialization of `XER` class.

Added

* Added class `UDFTYPE` which represents a User Defined Field.
* Added attribute `user_defined_fields` to `PROJECT`, `PROJWBS`, `RSRC`, and `TASK` classes, which hold a dictionary of `UDFTYPE`: `UDF Value` key value pairs.

---

Page 5 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.