<commit_before>=====
About
=====

Patchwork is a mid-level library of Unix system administration primitives such
as "install package" or "create user account", plus related functions for
things like introspecting a target system's operating system.  Specifically:

* Primary API calls strive to be **idempotent**: they may be called multiple
  times in a row without unwanted changes piling up or causing errors.
* Patchwork **is just an API**:  it has no concept of "recipes", "manifests",
  "classes", "roles" or other high level organizational units. This is left up
  to the user or wrapping libraries.
    * This is one way Patchwork differs from larger configuration management
      frameworks like `Chef <http://opscode.com/chef/>`_ or `Puppet
      <http://puppetlabs.com>`_. Patchwork is closest in nature to those tools'
      "resources."
* It is implemented in **shell calls**, typically sent **over SSH** via the
  `Fabric <http://fabfile.org>`_ library from a local workstation (though it
  will eventually be able to execute local commands too.)


===============
API description
===============

* `info`: Information-gathering methods, e.g. "give me a label for the
  OS."
    * OS type
    * Network interfaces
    * Other stuff Facter/Ohai do?
* `packages`: Install/remove/manipulate system-level software packages
    * `__init__`: Generic install/etc stuff, which switches on OS in the background
    * `apt`: Debian/APT stuff, e.g. debconf, Ubuntu PPAs etc
    * `rpm`: RedHat/RPM stuff, e.g. yum repos
* `files`: Create/remove/modify files, symlinks and directories
    * Including "download this URL directly to the remote end", etc
* `auth`: Create/manage users, groups, `sudoers` etc
* `vcs`: Manage version control checkouts
* `commands`: Execute complicated tasks combining run/sudo/get/put and so<commit_msg>Tweak language on index page.<commit_after>=====
About
=====

Patchwork is a mid-level library of Unix system administration primitives such
as "install package" or "create user account", plus related functions for
things like introspecting a target system's operating system.  Specifically:

* Primary API calls strive to be **idempotent**: they may be called multiple
  times in a row without unwanted changes piling up or causing errors.
* Patchwork **is just an API**:  it has no concept of "recipes", "manifests",
  "classes", "roles" or other high level organizational units. This is left up
  to the user or wrapping libraries.
    * This is one way Patchwork differs from larger configuration management
      frameworks like `Chef <http://opscode.com/chef/>`_ or `Puppet
      <http://puppetlabs.com>`_. Patchwork is closest in nature to those tools'
      "resources."
* It is implemented in **shell calls**, typically sent **over SSH** via the `Fabric
  <http://fabfile.org>`_ library from a local workstation -- though where
  possible, its functions expect a baseline Invoke `~invoke.context.Context`
  object and can thus run locally or remotely, depending on the specific
  context supplied by the caller.


===============
API description
===============

* `info`: Information-gathering methods, e.g. "give me a label for the
  OS."
    * OS type
    * Network interfaces
    * Other stuff Facter/Ohai do?
* `packages`: Install/remove/manipulate system-level software packages
    * `__init__`: Generic install/etc stuff, which switches on OS in the background
    * `apt`: Debian/APT stuff, e.g. debconf, Ubuntu PPAs etc
    * `rpm`: RedHat/RPM stuff, e.g. yum repos
* `files`: Create/remove/modify files, symlinks and directories
    * Including "download this URL directly to the remote end", etc
* `auth`: Create/manage users, groups, `sudoers` etc
* `vcs`: Manage version control checkouts
* `commands`: Execute complicated tasks combining run/sudo/get/put and so
{'fraction_non_alphanumeric': 0.10672246926497515, 'fraction_numerical': 0.0, 'mean_word_length': 4.1328859060402685, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5472514', 'n_tokens_mistral': 1117, 'n_tokens_neox': 1025, 'n_words': 477}