polyphony 0.99.3 → 0.99.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b360daaa49eebb84f08c16ddf8ba2bc6b936f4ce5f5247ec223d80dbd484a77
4
- data.tar.gz: cc903ca6277df22c91fe2e72de523890b89f3c1e74eec69f0965f5b2f03665a7
3
+ metadata.gz: bd44b14a67b4f5aedd2f46010ff0ca790072f7c5261c6b6c53b622667264cec9
4
+ data.tar.gz: 9bcc853cbbb8f03e4fc7370b957f5895d78f36fece297d130451d8fef37da782
5
5
  SHA512:
6
- metadata.gz: 5419e932910cd6fd9d7a879f46b825eb665a21fc01b4f5638dc55157407375df3fc77d491d5fec4bc48f1e4622df2a55cf057a3f33975dd0fd80abe91c23be55
7
- data.tar.gz: 0ce612362e92190a6a4378ea1e9fb91a2163eeacb08a6d4b549e4411259775054e84def3b6025e7e12872a4b03741ed9ae8b320a20f94abb85dcd4572bd3fb5d
6
+ metadata.gz: 226dc8b0f9d8b0599df1444b0f8c3dd99c8fad7484a7c6cf9d4cc25e136d25cce33c56632f3c0e823216e76f21ab2ff06ff4d629e67134592302b85b95967e00
7
+ data.tar.gz: c277e9f9ac12001b7b30584e97e67020b9cc6088525249386868a783f0e38a8c88fbaa852ec36246d28a44d7f4cb93c9aaffa7ddfb8c1bca8396f80b569a63ff
data/.yardopts CHANGED
@@ -14,10 +14,12 @@
14
14
  --exclude sequel.rb
15
15
  --exclude event.c
16
16
  --exclude backend.+\.c
17
- --load ./docs/link_rewriter.rb
17
+ # --load ./docs/link_rewriter.rb
18
+ -r docs/readme.md
18
19
  ./lib
19
20
  ./ext/polyphony
20
21
  -
22
+ docs/readme.md
21
23
  docs/overview.md
22
24
  docs/tutorial.md
23
25
  docs/faq.md
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- <img src="assets/polyphony-logo.png" alt="Polyphony">
1
+ <img src="https://github.com/digital-fabric/polyphony/raw/master/assets/polyphony-logo.png">
2
2
 
3
3
  # Polyphony: Fine-Grained Concurrency for Ruby
4
4
 
data/docs/readme.md ADDED
@@ -0,0 +1,102 @@
1
+ # @title README
2
+
3
+ <img src="https://github.com/digital-fabric/polyphony/raw/master/assets/polyphony-logo.png">
4
+
5
+ # Polyphony: Fine-Grained Concurrency for Ruby
6
+
7
+ <a href="http://rubygems.org/gems/polyphony">
8
+ <img src="https://badge.fury.io/rb/polyphony.svg" alt="Ruby gem">
9
+ </a>
10
+ <a href="https://github.com/digital-fabric/polyphony/actions?query=workflow%3ATests">
11
+ <img src="https://github.com/digital-fabric/polyphony/workflows/Tests/badge.svg" alt="Tests">
12
+ </a>
13
+ <a href="https://github.com/digital-fabric/polyphony/blob/master/LICENSE">
14
+ <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License">
15
+ </a>
16
+
17
+ > Polyphony \| pəˈlɪf\(ə\)ni \|
18
+ >
19
+ > 1. _Music_ the style of simultaneously combining a number of parts, each
20
+ > forming an individual melody and harmonizing with each other.
21
+ >
22
+ > 2. _Programming_ a Ruby gem for concurrent programming focusing on performance
23
+ > and developer happiness.
24
+
25
+ ## What is Polyphony?
26
+
27
+ Polyphony is a library for building concurrent applications in Ruby. Polyphony
28
+ harnesses the power of [Ruby fibers](https://ruby-doc.org/core-2.5.1/Fiber.html)
29
+ to provide a cooperative, sequential coroutine-based concurrency model. Under
30
+ the hood, Polyphony uses
31
+ [io_uring](https://unixism.net/loti/what_is_io_uring.html) or
32
+ [libev](https://github.com/enki/libev) to maximize I/O performance.
33
+
34
+ ## Features
35
+
36
+ * Co-operative scheduling of concurrent tasks using Ruby fibers.
37
+ * High-performance event reactor for handling I/O events and timers.
38
+ * Natural, sequential programming style that makes it easy to reason about
39
+ concurrent code.
40
+ * Abstractions and constructs for controlling the execution of concurrent code:
41
+ supervisors, cancel scopes, throttling, resource pools etc.
42
+ * Code can use native networking classes and libraries, growing support for
43
+ third-party gems such as `pg` and `redis`.
44
+ * Use stdlib classes such as `TCPServer`, `TCPSocket` and
45
+ `OpenSSL::SSL::SSLSocket`.
46
+ * Competitive performance and scalability characteristics, in terms of both
47
+ throughput and memory consumption.
48
+
49
+ ## Installing
50
+
51
+ ### System Requirements
52
+
53
+ In order to use Polyphony you need to have:
54
+
55
+ - Linux or MacOS (support for Windows will come at a later stage)
56
+ - Ruby (MRI) 3.0 or newer
57
+
58
+ ### Installing the Polyphony Gem
59
+
60
+ Add this line to your application's Gemfile:
61
+
62
+ ```ruby
63
+ gem 'polyphony'
64
+ ```
65
+
66
+ And then execute:
67
+
68
+ ```bash
69
+ $ bundle
70
+ ```
71
+
72
+ Or install it yourself as:
73
+
74
+ ```bash
75
+ $ gem install polyphony
76
+ ```
77
+
78
+ ## Usage
79
+
80
+ - {file:/docs/overview.md Overview}
81
+ - {file:/docs/tutorial.md Tutorial}
82
+ - {file:/docs/faq.md FAQ}
83
+
84
+ ## Technical Discussion
85
+
86
+ - {file:/docs/concurrency.md Concurrency the Easy Way}
87
+ - {file:/docs/fiber-scheduling.md How Fibers are Scheduled}
88
+ - {file:/docs/exception-handling.md Exception Handling}
89
+ - {file:/docs/extending.md Extending Polyphony}
90
+ - {file:/docs/design-principles.md Polyphony's Design}
91
+
92
+ ## Examples
93
+
94
+ For examples of specific use cases you can consult the [bundled
95
+ examples](https://github.com/digital-fabric/polyphony/tree/master/examples) in
96
+ Polyphony's GitHub repository.
97
+
98
+ ## Contributing to Polyphony
99
+
100
+ Issues and pull requests will be gladly accepted. Please use the [Polyphony git
101
+ repository](https://github.com/digital-fabric/polyphony) as your primary point
102
+ of departure for contributing.
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Polyphony
4
4
  # @!visibility private
5
- VERSION = '0.99.3'
5
+ VERSION = '0.99.4'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polyphony
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.99.3
4
+ version: 0.99.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-08 00:00:00.000000000 Z
11
+ date: 2023-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler
@@ -164,6 +164,7 @@ files:
164
164
  - docs/link_rewriter.rb
165
165
  - docs/main-concepts/index.md
166
166
  - docs/overview.md
167
+ - docs/readme.md
167
168
  - docs/tutorial.md
168
169
  - docs/whats-new.md
169
170
  - examples/adapters/pg_client.rb