<commit_before>{ lib
, buildPythonPackage
, fetchPypi
, python
, isPy27
}:

buildPythonPackage rec {
  pname = "odfpy";
  version = "1.3.6";

  src = fetchPypi {
    inherit pname version;
    sha256 = "6bcaf3b23aa9e49ed8c8c177266539b211add4e02402748a994451482a10cb1b";
  };

  # Python 2.7 uses a different ordering for xml namespaces.
  # The testAttributeForeign test expects "ns44", but fails since it gets "ns43"
  checkPhase = " " + lib.optionalString (!isPy27) ''
    ${python.interpreter} -m unittest discover -s tests
  '';

  meta = {
    description = "Python API and tools to manipulate OpenDocument files";
    homepage = "https://joinup.ec.europa.eu/software/odfpy/home";
    license = lib.licenses.asl20;
  };
}<commit_msg>python: odfpy: 1.3.6 -> 1.4.0<commit_after>{ lib
, buildPythonPackage
, fetchPypi
, python
, isPy27
}:

buildPythonPackage rec {
  pname = "odfpy";
  version = "1.4.0";

  src = fetchPypi {
    inherit pname version;
    sha256 = "596021f0519623ca8717331951c95e3b8d7b21e86edc7efe8cb650a0d0f59a2b";
  };

  # Python 2.7 uses a different ordering for xml namespaces.
  # The testAttributeForeign test expects "ns44", but fails since it gets "ns43"
  checkPhase = " " + lib.optionalString (!isPy27) ''
    ${python.interpreter} -m unittest discover -s tests
  '';

  meta = {
    description = "Python API and tools to manipulate OpenDocument files";
    homepage = "https://joinup.ec.europa.eu/software/odfpy/home";
    license = lib.licenses.asl20;
  };
}
{'fraction_non_alphanumeric': 0.11796246648793565, 'fraction_numerical': 0.08445040214477212, 'mean_word_length': 3.6949685534591197, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 4, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5706949', 'n_tokens_mistral': 613, 'n_tokens_neox': 540, 'n_words': 127}