Comments (7)
@jayvdb, I'll get this done as soon as I can. Might not be until later this week, though.
from stdio-mgr.
No worries.
Note you might want to consider using black
instead. It is incompatible with flake8
and incompatible with isort
, but lots of people love it.
from stdio-mgr.
I love black
. The stdio-mgr
codebase is already blackened; I run it regularly during development.
And, actually, as long as the max line lengths are set equal, I haven't really had a problem making flake8
and black
play nice, with the exception of some ~uncommon scenarios in testing where I've needed to intermix imports and other statements at the top of a module. I can't remember whether I fixed those with # noqa
or by refactoring. <shrug>
The flake8
setup I'm planning to apply here is the same one that's in place in another project of mine: see tox.ini and the flake8 plugins list. On one hand, it seems like a lot of plugins to be using -- on the other, though, each individual one makes sense to me to include, even though some of them necessitate a handful of # noqa
s.
from stdio-mgr.
If doing py2, you will want to add flake8-future-import to the list.
Some other you might consider at (now deprecated/unsupported) https://github.com/jayvdb/flake8-putty/blob/master/tox.ini
from stdio-mgr.
@jayvdb Based on the discussion at the other project (pytest-console-test?), I don't really want to mess with Python 2 at this point. I see the potential value to having even a single version out there with Py2 support... but with all of the [3]bytes/str // [2]str/unicode juggling, and all of the super() calls ... it just feels like it'd be a lot of work for something that's mostly in the rearview mirror at this point.
from stdio-mgr.
Ok, I'll leave that alone. I've also dropped the stdin raw buffer injection, at least temporarily, for similar reasons. While some people might need raw bytes, most wont, and it adds complexity and reduces the type checking which helps users navigate the bytes/unicode problem.
from stdio-mgr.
Or, well, I guess what it boils down to is: given the significant changes that are involved, I would rather keep master
clean for Python 3.
I think I'd be ok with starting a python2
branch now, though, which would be Py2-specific; it'd disregard Python 3 compat entirely. It could then release into the v0.x space on PyPI -- I only have >=1 releases there, and all are tagged with python_requires>=3
. So, a Python 2 user should only ever get the backport.
from stdio-mgr.
Related Issues (20)
- Wrapping `print` builtin
- Replace buffers inside of existing sys.std* wrappers HOT 4
- Add new CI job testing coverage of tests folder
- Option to normalise Windows EOL HOT 3
- Test alternative Python implementations HOT 16
- Create ABC for .getvalue HOT 5
- Assertion helpers for `.getvalue()` HOT 1
- Document prior art HOT 6
- unittest compatible subset of test suite
- Disable (subset of) comparison dunder methods inherited from tuple HOT 1
- High-level v2.0 plan
- MicroPython implementation and tests HOT 4
- Add option to scrub ANSI and Win console command codes
- pytest-subtests prevents stdio_mgr from capturing stdio
- 1.0.1: pytest based test suite is failing: move README tests out of main test suite HOT 5
- Option to pass output through to original stdout/stderr
- Reset default branch to post-1.0.1 release and migrate to `main`
- Find project admin work that cleanly follows #101 and cherry pick
- Convert v2.0 plan to 1+ projects
- Develop system of labels for the v2.0 issues/tasks
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stdio-mgr.