fileseq

A Python library for parsing frame ranges.

OTHER License

Downloads
3.2K
Stars
237
Committers
15

Bot releases are hidden (Show)

fileseq - Patch Release v2.1.1 Latest Release

Published by justinfx 6 months ago

Patch Release v2.1.1

  • [#133] Add note to FileSequence.__str__ about format caveat
  • [#118] Update type annotations to pass mypy --strict check
  • Remove typing_extensions dependency

Full Changelog: https://github.com/justinfx/fileseq/compare/v2.1.0...v2.1.1

fileseq - Minor Release v2.1.0

Published by justinfx 7 months ago

Minor Release v2.1.0

Full Changelog: https://github.com/justinfx/fileseq/compare/v2.0.0...v2.1.0

fileseq - Major Version Release v2.0.0

Published by justinfx 8 months ago

This is a new major version release that drops support for python2

  • [#119] (Breaking change) Drop python2 support
  • [#127] (Breaking change) Use default padding character when range is set on existing FileSequence instance
  • [#118] Add python3 type annotations and py.typed marker file
  • [#126] Allow FileSequence.setExtension() with empty string to properly clear extension value
fileseq - Patch release v1.15.2

Published by justinfx about 1 year ago

New in patch release v1.15.2

  • [#123] Fix decimal subframes being rounded to 0 and still contain negative sign
fileseq - Patch release v1.15.1

Published by justinfx over 1 year ago

New in patch release v1.15.1

  • [#116] Recompute the zfill value when FileSequence.setPadStyle() is called
  • [#120] Update regex to support parsing multi-component file extensions that contain single characters (".a.gz" or ".1.ext")
fileseq - Release v1.15.0

Published by justinfx over 2 years ago

New in release v1.15.0

  • [justinfx#115] New batch API: utils.batchFrames and utils.batchIterable functions, and batches() methods added to FrameSet and FileSequence
  • [justinfx#111] FileSequence setters should atomically update fields, only if no exception is raised
  • [justinfx#112] findSequenceOnDisk: add preserve_padding option to apply original padding characters to matching sequence
  • [justinfx#109] Add support for <UDIM> and %(UDIM)d padding formats (thanks @herronelou)
  • [justinfx#116] FileSequence.setPadStyle(): add set_zfill options to convert the zfill and decimalPlaces values instead of default behavior to convert the padding character representation
  • [justinfx#53] Update README with "Limitations" section
  • Update utils.xrange2 to support start/start/step fields like the builtin range
  • Include utils module in sphinx docs
fileseq - Release v1.14.0

Published by justinfx almost 3 years ago

New in release v1.14.0

  • [#107] Improve windows support for findSequenceOnDisk: support mixed-case matching, and normalize mixed path separators
  • [4a831c09cb154afe169b74e123e92907bca42cb1] Update findSequenceOnDisk docstring about unsupported wildcard characters
  • [cf11bfb3ccbcf5a5579cfd8b88e0cd91c7cf0356] Improve doc formatting of constants
fileseq - Patch release v1.13.1

Published by justinfx about 3 years ago

New in patch release v1.13.1

  • [#106] py2: Update utils.asString to convert derived string types to bytes
  • [#105] Small docstring update in findSequenceOnDisk
fileseq - Release v1.13.0

Published by justinfx over 3 years ago

New in v1.13.0

  • [#104] Added to_dict() method and from_dict() classmethod to FileSequence to expand support for custom serialization beyond just pickle format (just as json)
fileseq - Patch release v1.12.3

Published by justinfx over 3 years ago

New in patch release v1.12.3

  • Further updates to FileSequence py2 str/unicode support, and py3 bytes/str support (#100)
fileseq - Patch release v1.12.2

Published by justinfx over 3 years ago

New in release v1.12.2

  • Fix python2 handling of unicode strings in FileSequence __str__(), __repr__(), and __format__() methods (adds __unicode__() method) (#99)
fileseq - v1.12.1 Release

Published by justinfx over 3 years ago

New in release v1.12.1

Duplicate release of v1.12.0 for pypi deployment

  • Update yield_sequences_in_list frame sorting to group different pad widths into different sequences (#94)
  • Update yield_sequences_in_list to retain user pad_style and subframe options in sequences (#98)
  • Update PAD_STYLE constants to have a helpful string repr for debugging (b246e0dd)
fileseq - v1.12.0 Release

Published by justinfx over 3 years ago

New in release v1.12.0

  • Update yield_sequences_in_list frame sorting to group different pad widths into different sequences (#94)
  • Update yield_sequences_in_list to retain user pad_style and subframe options in sequences (#98)
  • Update PAD_STYLE constants to have a helpful string repr for debugging (b246e0dd)
fileseq - Patch release v1.11.3

Published by justinfx over 3 years ago

New in patch release v1.11.3

  • Update FrameSet constructor to raise ParseException on non-numeric args (#92)
fileseq - Patch release v1.11.2

Published by justinfx almost 4 years ago

New in patch release v1.11.2

  • Fix regression of undocumented matching of file sequence from absolute
    file path in findSequenceOnDisk (#89)
  • Add allow_subframes argument, defaulting to False, to preserve previous
    behaviour where patterns not including padding characters worked even though
    not documented - this prevents accidentally matching subframe filenames if no
    padding is provided (#89)
  • Ensure yield_sequences_in_list correctly yields subframe sequences for
    findSequenceOnDisk (do not overwrite frame variable) (#89)
fileseq - Patch release v1.11.1

Published by justinfx about 4 years ago

New in patch release v1.11.1

  • Fix a pickle serialization issue between old and new versions of FileSequence, introduced in 1.11.0 #87
  • Internal refactor of FileSequence.getPaddingChars to use a mapping of pad widths #86
  • Sphinx doc build fixes (58d7acf6a6c481b633a34fe0de89a85d661c81af, 1fe92fa5deeea148aa13f03b8a2b064e07894a4b)
fileseq - Release v1.11.0

Published by justinfx about 4 years ago

This release introduces support for subframe sequences.
Subframes: 1001-1066x0.25, 1001.5-1066.0x0.5

At the FileSequence level, subframe support is opt-in via the constructor allow_subframes=True and also in related findSequence* functions. The expectation is that existing sequence and frameset behaviour should not change.

  • Add support for subframe sequences #84
  • Add FrameSet.from_range() constructor #83
fileseq - Release v1.10.0

Published by justinfx over 4 years ago

In this release there is a change to what is perceived to be a bug in the padding width of negative frames (#80) being padded one character wider than they should, making them unbalanced with the positive frame widths, and also does not align with other systems like Nuke. One possible impact to be aware of is if a sequence with negative frames were written out with a previous version of fileseq (with the wider negative frame padding) and then that same sequence pattern were used to iterate the files in this new release, the file paths may not match the negative frames.

  • Documentation and docstring updates (#79)
  • Fix the padding width logic for negative frames to align with other systems (#80)
  • Copy regex patterns as references in FileSequence/FrameSet classes, allowing for subclasses to reimplement (#81)
fileseq - Release v1.9.0

Published by justinfx over 4 years ago

  • Add support for more padding formats; improve printf, add houdini (#75)
  • Clean up regex patterns to use verbose mode for readability (84b001c0)
  • Fix py3 linting errors and add a missing FileSequence.__hash__() implementation (a114eadb)
  • Improve findSequenceOnDisk when sequences contain multiple digit components that confused the frame position; yield_sequences_in_list updated to accept a "using" context sequence as a template (#76)
fileseq - Patch release v1.8.1

Published by justinfx over 5 years ago

This patch release fixes a number of locations where python2 usage started returning unicode instead of the native str type. Added tests to ensure the native str type is returned from FileSequence, FrameSet, and utility functions that return string types.

This patch is meant to maintain v1.x api compatibility for existing python2 users by not suddenly introducing unicode types.