(These days, the library does rank first for "python fabric").
1,158 karma · joined April 1, 2007
(These days, the library does rank first for "python fabric").
It's a useful command that I consider to be relevant to end users, not just an internal "plumbing" utility
The article recommends tox, but how did tox get installed?
I can currently create and activate a new empty virtualenv, "pip install -U pip", clone and cd into my project, and run "python setup.py test". My test dependencies are automatically setup and my preferred runner (pytest) is used. If I change those in the future, the same commands will keep working because I am configuring those in setup.cfg, etc.
If I am now expected to manually "pip install tox" before testing my project and change that in the future if we start using something else, isn't that a step backward to the situation pyproject.toml et al were supposed to solve with needing to manually install specific stuff before using a project?
Is it possible for Cython? Their guide shows using setup.py:
https://cython.readthedocs.io/en/latest/src/tutorial/cython_...
If your program disappears into a black hole doing some operation that doesn't have (and needs) a timeout specified, you want to know what it was about to do when you last heard from it.
Pypy is focussed on supporting 3.x. There are two major initiatives going now, one of which is numpy support and the other is Python 3 support.
People aren't "investing time on Python 2.x libraries and features". Python 2 is going to just receive security and bug fixes and all new work is on Python 3. Major libraries are currently supporting Python 3, including almost all of the widely used ones (numpy, scipy, sqlalchemy, virtualenv, etc). The ones that aren't, are being ported (django, twisted).
Overall, the tone and information in your post is quite outdated. Your sentiments were shared by a lot of people circa Python 3.1, but now it is 2012 and the Python ecosystem has mostly got a handle on how to straddle two versions, after being help up for a bit by discovering that the initial "lib2to3" approach wasn't the best solution for many projects.
It's too bad that django, zope and werkzeug (flask) aren't there yet. I understand that a lot of people on this site use django and so these discussions are always dominated by people complaining that they can't use Python 3 because their dependencies (django) aren't available.
But the Python community is much bigger than django and today most of the rest of the ecosystem is ready and working fine. The parts that aren't, are getting there rapidly.
Affine Systems generates data about online video using computer vision (face recognition, product recognition, scene classification, etc.) for advertisers to use in targeting and filtering their online video campaigns.
We did over a million dollars in revenue over the last two years working on campaigns for major brands. We recently raised our B round, led by Crosslink Capital, the investors behind Pandora.
We are looking for test-driven engineers to work on an internet-scale video processing pipeline using Python, MySQL, Hadoop, Selenium, ffmpeg and other open source tools. Its goal is to find and ingest videos from web pages and to generate and store metadata about those videos using our vision algorithms written in C++.
If interested, please contact me (founder/ chief engineer) at bobby@affine.tv
Thanks.
ITERN and H1B are welcome. No REMOTE hires, please.
oputput = subprocess.check_output(my_command)And those functions are more convenient than the default behavior of backticks, because they handle for you raising an exception if the subprocess fails.
Python:
import subprocess
output = subprocess.check_output('command')
Perl: $output = `command`
die "failed: $output" if $?Affine Systems generates data about online video using computer vision (face recognition, product recognition, scene classification, etc.) for advertisers to use in targeting and filtering their online video campaigns.
We did over a million dollars in revenue last year working on campaigns for major brands. We recently raised our B round, led by Crosslink Capital, the investors behind Pandora.
We are looking for test-driven engineers to work on an internet-scale video processing pipeline using Python, MySQL, Hadoop, Selenium, ffmpeg and other open source tools. Its goal is to find and ingest videos from web pages and to generate and store metadata about those videos using our vision algorithms written in C++.
Please no remote hires. You must be able to work alongside us at our office in San Francisco five days a week.
If interested, please contact me (founder/ CTO) at bobby@affinesystems.com
Thanks.
We did over a million dollars in revenue last year working on campaigns for major brands. We recently raised our B round, led by Crosslink Capital, the investors behind Pandora.
We are looking for test-driven interns (and full-time) engineers (and sysadmins) to work on an internet-scale video processing pipeline using Python, MySQL, Hadoop, Selenium, ffmpeg and other open source tools. Its goal is to find and ingest videos from web pages and to generate and store metadata about those videos using our vision algorithms written in C++.
We are looking for paid interns for this semester (and beyond) who are capable of working alongside us in our office in San Francisco.
If interested, please contact me (founder/ CTO) at bobby@affinesystems.com Thanks.
public class App extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain");
response.getWriter().println("Hello world");
}
} MyType obj = 1, 2, 3;
Due to the precedence of operators, this is actually equivalent to ((MyType obj = 1), 2), 3;
so as long as the overloaded assignment operator returns an object that the comma operator mutates and returns, this can be made the have effect of initializing the declared object to a "list".This trick is used by Boost Spirit to allow things like (example from http://stackoverflow.com/questions/54142/c-comma-operator)
keywords = "and", "or", "not", "xor";