
-
Grab to go public in the US following $40 billion SPAC dealTuesday, 13 April 2021Ride-hailing and delivery company Grab has announced plans to go public in the U.S. Based in Singapore, the company has evolved from a ride-hailing app to a Southeast Asian super app that offers several consumer services, including food delivery, financial services, such as an e-wallet so that you can send and receive money. It operates […]
-
Elder tech company, Papa, raises $60M Led by Tiger GlobalTuesday, 13 April 2021Papa, the elder tech company that offers care and companionship to seniors, today announced a $60 million Series C led by Tiger Global Management, bringing its total raised to date to $91 million. The money will be used to propel the company’s growth this year, building on 600% year-over-year growth as of the start of […]
-
On-demand pediatrics app Biloba adds prescriptions and raises $1.7 millionTuesday, 13 April 2021French startup Biloba has raised a $1.7 million funding round (€1.4 million) a few months after launching its pediatrics app that lets you chat with a doctor whenever you have a question. In addition to raising some money, the startup also recently added in-app prescriptions. Biloba’s concept is surprisingly simple. It’s a mobile app that […]
-
MFS Africa leads $2.3M seed round in Ugandan fintech startup NumidaTuesday, 13 April 2021Small businesses in Africa need digital banking services including plenty of credit. Although these businesses drive economic growth and contribute up to one-third of the continent’s GDP, they are often financially excluded from credit and other financial services due to their size and informality. One such company tackling this challenge in the eastern part of […]
-
With two new funds, LocalGlobe has more latitude than everTuesday, 13 April 2021“You wanted me to record this?” asks Saul Klein, LocalGlobe founding partner. “Just in case you say anything interesting,” I quip back. “I won’t be doing most of the talking, so maybe someone will say something interesting,” Klein replies poker-faced, before grinning. Once again, I’ve agreed to an ensemble-style interview with multiple members of the […]
-
African crypto usage spurs Luno as customers reach 7MTuesday, 13 April 2021The crypto industry as a whole has seen a momentous year of growth, heavily spurred on by the entrance of institutional investors adopting bitcoin due to its store of value properties. The 2020 spike bitcoin experienced was also accelerated by its global adoption as the number of global cryptocurrency users surpassed 100 million in Q3 […]
-
Berlin Brands Group raises $240M to buy and scale up third-party Amazon Marketplace brandsTuesday, 13 April 2021The race is on for companies building e-commerce empires by rolling up smaller, promising businesses that sell via Amazon and other marketplaces and growing by using some economies of scale to operate them as one. In the latest development, Berlin Brands Group has raised $240 million that it says it will be using to acquire […]
You can add your custom AD message here

-
Codementor: How To Find Broken Images Using Selenium WebDriver?Tuesday, 13 April 2021Want to find broken images on your website? Here's how you can do broken image testing on your website using Selenium in Java, Python, C#, and PHP.
-
Programiz: Python Program to Safely Create a Nested DirectoryTuesday, 13 April 2021In this example, you will learn to safely create a nested directory using Python.
-
Kushal Das: Workshop on writing Python modules in Rust April 2020Tuesday, 13 April 2021I am conducting 2 repeat sessions for a workshop on "Writing Python modules in Rust". The first session is on 16th April, 1500 UTC onwards, and the repeat session will be on 18th April 0900 UTC. More details can be found in this issue. You don't have to have any prior Rust knowledge. I will be providing working code, and we will go very slowly to have a working Python module with useful functions in it. If you are planning to attend or know anyone else who may want to join, then please point them to the issue link.
-
Ned Batchelder: Coverage.py and third-party codeTuesday, 13 April 2021I’ve made a change to coverage.py, and I could use your help testing it before it’s released to the world. tl;dr: install this and let me know if you don’t like the results: pip install coverage==5.6b1 What’s changed? Previously, coverage.py didn’t understand about third-party code you had installed. With no options specified, it would measure and report on that code, for example in site-packages. A common solution was to use --source=. to only measure code in the current directory tree. But many people put their virtualenv in the current directory, so third-party code installed into the virtualenv would still get reported.Now, coverage.py understands where third-party code gets installed, and won’t measure code it finds there. This should produce more useful results with less work on your part.This was a bit tricky because the --source option can also specify an importable name instead of a directory, and it had to still measure that code even if it was installed where third-party code goes.As of now, there is no way to change this new behavior. Third-party code is never measured.This is kind of a big change, and there could easily be unusual arrangements that aren’t handled properly. I would like to find out about those before an official release. Try the new version and let me know what you find out:pip install coverage==5.6b1In particular, I would like to know if any of the code you wanted measured wasn’t measured, or if there is code being measured that “obviously” shouldn’t be. Testing on Debian (or a derivative like Ubuntu) would be helpful; I know they have different installation schemes.If you see a problem, write up an issue. Thanks for helping.
-
Podcast.__init__: Let The Robots Do The Work Using Robotic Process Automation with RobocorpTuesday, 13 April 2021One of the great promises of computers is that they will make our work faster and easier, so why do we all spend so much time manually copying data from websites, or entering information into web forms, or any of the other tedious tasks that take up our time? As developers our first inclination is to "just write a script" to automate things, but how do you share that with your non-technical co-workers? In this episode Antti Karjalainen, CEO and co-founder of Robocorp, explains how Robotic Process Automation (RPA) can help us all cut down on time-wasting tasks and let the computers do what they're supposed to. He shares how he got involved in the RPA industry, his work with Robot Framework and RPA framework, how to build and distribute bots, and how to decide if a task is worth automating. If you're sick of spending your time on mind-numbing copy and paste then give this episode a listen and then let the robots do the work for you.Summary One of the great promises of computers is that they will make our work faster and easier, so why do we all spend so much time manually copying data from websites, or entering information into web forms, or any of the other tedious tasks that take up our time? As developers our first inclination is to "just write a script" to automate things, but how do you share that with your non-technical co-workers? In this episode Antti Karjalainen, CEO and co-founder of Robocorp, explains how Robotic Process Automation (RPA) can help us all cut down on time-wasting tasks and let the computers do what they’re supposed to. He shares how he got involved in the RPA industry, his work with Robot Framework and RPA framework, how to build and distribute bots, and how to decide if a task is worth automating. If you’re sick of spending your time on mind-numbing copy and paste then give this episode a listen and then let the robots do the work for you. Announcements Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to pythonpodcast.com/linode and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! We’ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to pythonpodcast.com/census today to get a free 14-day trial. Software is read more than it is written, so complex and poorly organized logic slows down everyone who has to work with it. Sourcery makes those problems a thing of the past, giving you automatic refactoring recommendations in your IDE or text editor while you write (I even have it working in Emacs). It isn’t just another linting tool that nags you about issues. It’s like pair programming with a senior engineer, finding and applying structural improvements to your functions so that you can write cleaner code faster. Best of all, listeners of Podcast.__init__ get 6 months of their Pro tier for free if you go to pythonpodcast.com/sourcery today and use the promo code INIT when you sign up. Your host as usual is Tobias Macey and today I’m interviewing Antti Karjalainen about the RPA Framework for automating your daily tasks and his work at Robocorp to manage your robots in production Interview Introductions How did you get introduced to Python? Can you start by giving an overview of what Robotic Process Automation is? What are some of the ways that RPA might be used? What are the advantages over writing a custom library or script in Python to automate a given task? How does the functionality of RPA compare to automation services like Zapier, IFTTT, etc.? What are you building at Robocorp and what was your motivation for starting the business? Who is your target customer and how does that inform the products that you are building? Can you give an overview of the state of the ecosystem for RPA tools and products and how Robocorp and RPA framework fit within it? How does the RPA Framework relate to Robot Framework? What are some of the challenges that developers and end users often run into when trying to build, use, or implement an RPA system? How is the RPA framework itself implemented? How has the design of the project evolved since you first began working on it? Can you talk through an example workflow for building a robot? Once you have built a robot, what are some of the considerations for local execution or deploying it to a production environment? How can you chain together multiple robots? What is involved in extending the set of operations available in the framework? What are the available integration points for plugging a robot written with RPA Framework into another Python project? What are the dividing lines between RPA Framework and Robocorp? How are you handling the governance of the open source project? What are some of the most interesting, innovative, or unexpected ways that you have seen RPA Framework and the Robocorp platform used? What are the most interesting, unexpected, or challenging lessons that you have learned while building and growing RPA Framework and the Robocorp business? When is RPA and RPA Framework the wrong choice for automation? What do you have planned for the future of the framework and business? Keep In Touch aikarjal on GitHub @aikarjal on Twitter LinkedIn Picks Tobias WandaVision Antti Tenet Closing Announcements Thank you for listening! Don’t forget to check out our other show, the Data Engineering Podcast for the latest on modern data management. Visit the site to subscribe to the show, sign up for the mailing list, and read the show notes. If you’ve learned something or tried out a project from the show then tell us about it! Email hosts@podcastinit.com) with your story. To help other people find the show please leave a review on iTunes and tell your friends and co-workers Join the community in the new Zulip chat workspace at pythonpodcast.com/chat Links Robocorp RPA Framework RCC Robotic Process Automation Zapier IFTTT (If This Then That) Robot Framework Selenium Playwright Conda Micro Mamba PyOxidizer Podcast Episode XKCD "Is It Worth The Time?" XKCD Automation Curve The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA
-
Paolo Amoroso: Free Python Books Went Viral on Hacker NewsMonday, 12 April 2021My Free Python Books list went viral on Hacker News, ending up on the home page within the first 2-3 entries for several hours.Free Python Books on the home page of Hacker News.Mike Andreuzza shared the project’s link to Hacker News on April 10, 2021. Since then the post gathered 154 upvotes. The Free Python Books GitHub repository jumped to almost 700 stars and 80 forks (up from about 95 stars and 20 forks before), reached almost 15K views from over 8K visitors, and went trending on GitHub.This attention brought new contributions to the project as 3 authors submitted their books and another user reported a broken link. Two people even sent me donations (thanks for the coffee!).A plot of the views (green) and unique visitors (blue) of the Free Python Books GitHub repository when the project was featured on Hacker News.Although I had interacted online with Mike a number of times, his submission to Hacker News came out of the blue and was a complete, pleasant surprise for me.Free Python Books is a project I began when first approaching the language. Books are my preferred learning resources, so I started maintaining a list of the many good free works I run across.Curation is another learning tool and the list is also a reference source for me.My deepest thanks to Mike and the many users who appreciate the project. If you haven’t already, check out Free Python Books.This post by Paolo Amoroso was published on Moonshots Beyond the Cloud.
-
PythonClub - A Brazilian collaborative blog about Python: Orientação a objetos de outra forma: Classes e objetosMonday, 12 April 2021Nas poucas e raríssimas lives que eu fiz na Twitch, surgiu a ideia de escrever sobre programação orientada a objetos em Python, principalmente por algumas diferenças de como ela foi implementada nessa linguagem. Aproveitando o tema, vou fazer uma série de postagens dando uma visão diferente sobre orientação a objetos. E nessa primeira postagem falarei sobre classes e objetos. Usando um dicionário Entretanto, antes de começar com orientação a objetos, gostaria de apresentar e discutir alguns exemplos sem utilizar esse paradigma de programação. Pensando em um sistema que precise manipular dados de pessoas, é possível utilizar os dicionários do Python para agrupar os dados de uma pessoa em uma única variável, como no exemplo a baixo: pessoa = { 'nome': 'João', 'sobrenome': 'da Silva', 'idade': 20, } Onde os dados poderiam ser acessados através da variável e do nome do dado desejado, como: print(pessoa['nome']) # Imprimindo João Assim, todos os dados de uma pessoa ficam agrupados em uma variável, o que facilita bastante a programação, visto que não é necessário criar uma variável para cada dado, e quando se manipula os dados de diferentes pessoas fica muito mais fácil identificar de qual pessoa aquele dado se refere, bastando utilizar variáveis diferentes. Função para criar o dicionário Apesar de prático, é necessário replicar essa estrutura de dicionário toda vez que se desejar utilizar os dados de uma nova pessoa. Para evitar a repetição de código, a criação desse dicionário pode ser feita dentro de uma função que pode ser colocada em um módulo pessoa (arquivo, nesse caso com o nome de pessoa.py): # Arquivo: pessoa.py def nova(nome, sobrenome, idade): return { 'nome': nome, 'sobrenome': sobrenome, 'idade': idade, } E para criar o dicionário que representa uma pessoa, basta importar esse módulo (arquivo) e chamar a função nova: import pessoa p1 = pessoa.nova('João', 'da Silva', 20) p2 = pessoa.nova('Maria', 'dos Santos', 18) Desta forma, garante-se que todos os dicionários representando pessoas terão os campos desejados e devidamente preenchidos. Função com o dicionário Também é possível criar algumas funções para executar operações com os dados desses dicionários, como pegar o nome completo da pessoa, trocar o seu sobrenome, ou fazer aniversário (o que aumentaria a idade da pessoa em um ano): # Arquivo: pessoa.py def nova(nome, sobrenome, idade): ... # Código abreviado def nome_completo(pessoa): return f"{pessoa['nome']} {pessoa['sobrenome']}" def trocar_sobrenome(pessoa, sobrenome): pessoa['sobrenome'] = sobrenome def fazer_aniversario(pessoa): pessoa['idade'] += 1 E sendo usado como: import pessoa p1 = pessoa.nova('João', 'da Silva', 20) pessoa.trocar_sobrenome(p1, 'dos Santos') print(pessoa.nome_completo(p1)) pessoa.fazer_aniversario(p1) print(p1['idade']) Nesse caso, pode-se observar que todas as funções aqui implementadas seguem o padrão de receber o dicionário que representa a pessoa como primeiro argumento, podendo ter outros argumentos ou não conforme a necessidade, acessando e alterando os valores desse dicionário. Versão com orientação a objetos Antes de entrar na versão orientada a objetos propriamente dita dos exemplos anteriores, vou fazer uma pequena alteração para facilitar o entendimento posterior. A função nova será separada em duas partes, a primeira que criará um dicionário, e chamará uma segunda função (init), que receberá esse dicionário como primeiro argumento (seguindo o padrão das demais funções) e criará sua estrutura com os devidos valores. # Arquivo: pessoa.py def init(pessoa, nome, sobrenome, idade): pessoa['nome'] = nome pessoa['sobrenome'] = sobrenome pessoa['idade'] = idade def nova(nome, sobrenome, idade): pessoa = {} init(pessoa, nome, sobrenome, idade) return pessoa ... # Demais funções do arquivo Porém isso não muda a forma de uso: import pessoa p1 = pessoa.nova('João', 'da Silva', 20) Função para criar uma pessoa A maioria das linguagens de programação que possuem o paradigma de programação orientado a objetos faz o uso de classes para definir a estrutura dos objetos. O Python também utiliza classes, que podem ser definidas com a palavra-chave class seguidas de um nome para ela. E dentro dessa estrutura, podem ser definidas funções para manipular os objetos daquela classe, que em algumas linguagens também são chamadas de métodos (funções declaradas dentro do escopo uma classe). Para converter o dicionário para uma classe, o primeiro passo é implementar uma função para criar a estrutura desejada. Essa função deve possui o nome __init__, e é bastante similar a função init do código anterior: class Pessoa: def __init__(self, nome, sobrenome, idade): self.nome = nome self.sobrenome = sobrenome self.idade = idade As diferenças são que agora o primeiro parâmetro se chama self, que é um padrão utilizado no Python, e em vez de usar colchetes e aspas para acessar os dados, aqui basta utilizar o ponto e o nome do dado desejado (que aqui também pode ser chamado de atributo, visto que é uma variável do objeto). A função nova implementada anteriormente não é necessária, a própria linguagem cria um objeto e passa ele como primeiro argumento para o __init__. E assim para se criar um objeto da classe Pessoa basta chamar a classe como se fosse uma função, ignorando o argumento self e informando os demais, como se estivesse chamando a função __init__ diretamente: p1 = Pessoa('João', 'da Silva', 20) Nesse caso, como a própria classe cria um contexto diferente para as funções (escopo ou namespace), não está mais sendo utilizado arquivos diferentes, porém ainda é possível fazê-lo, sendo necessário apenas fazer o import adequado. Mas para simplificação, tanto a declaração da classe, como a criação do objeto da classe Pessoa podem ser feitas no mesmo arquivo, assim como os demais exemplos dessa postagem. Outras funções As demais funções feitas anteriormente para o dicionário também podem ser feitas na classe Pessoa, seguindo as mesmas diferenças já apontadas anteriormente: class Pessoa: def __init__(self, nome, sobrenome, idade): self.nome = nome self.sobrenome = sobrenome self.idade = idade def nome_completo(self): return f'{self.nome} {self.sobrenome}' def trocar_sobrenome(self, sobrenome): self.sobrenome = sobrenome def fazer_aniversario(self): self.idade += 1 Para se chamar essas funções, basta acessá-las através do contexto da classe, passando o objeto criado anteriormente como primeiro argumento: p1 = Pessoa('João', 'dos Santos', 20) Pessoa.trocar_sobrenome(p1, 'dos Santos') print(Pessoa.nome_completo(p1)) Pessoa.fazer_aniversario(p1) print(p1.idade) Essa sintaxe é bastante semelhante a versão sem orientação a objetos implementada anteriormente. Porém quando se está utilizando objetos, é possível chamar essas funções com uma outra sintaxe, informando primeiro o objeto, seguido de ponto e o nome da função desejada, com a diferença de que não é mais necessário informar o objeto como primeiro argumento. Como a função foi chamada através de um objeto, o próprio Python se encarrega de passá-lo para o argumento self, sendo necessário informar apenas os demais argumentos: p1.trocar_sobrenome('dos Santos') print(p1.nome_completo()) p1.fazer_aniversario() print(p1.idade) Existem algumas diferenças entre as duas sintaxes, porém isso será tratado posteriormente. Por enquanto a segunda sintaxe pode ser vista como um açúcar sintático da primeira, ou seja, uma forma mais rápida e fácil de fazer a mesma coisa que a primeira, e por isso sendo a recomendada. Considerações Como visto nos exemplos, programação orientada a objetos é uma técnica para juntar variáveis em uma mesma estrutura e facilitar a escrita de funções que seguem um determinado padrão, recebendo a estrutura como argumento, porém a sintaxe mais utilizada no Python para chamar as funções de um objeto (métodos) posiciona a variável que guarda a estrutura antes do nome da função, em vez do primeiro argumento. No Python, o argumento da estrutura ou objeto (self) aparece explicitamente como primeiro argumento da função, enquanto em outras linguagens essa variável pode receber outro nome (como this) e não aparece explicitamente nos argumentos da função, embora essa variável tenha que ser criada dentro do contexto da função para permitir manipular o objeto. Esse artigo foi publicado originalmente no meu blog, passe por lá, ou siga-me no DEV para ver mais artigos que eu escrevi.
You can add your custom AD message here

-
VSBLTY & RADARAPP DEPLOY WORLD'S FIRST WIFI6-BASED SURVEILLANCE NETWORK IN MEXICO CITY - GlobeNewswireTuesday, 13 April 2021VSBLTY & RADARAPP DEPLOY WORLD'S FIRST WIFI6-BASED SURVEILLANCE NETWORK IN MEXICO CITY GlobeNewswire
-
Hardware-in-the-loop Market 2021- New study Report 2027 – SoccerNurds - SoccerNurdsTuesday, 13 April 2021Hardware-in-the-loop Market 2021- New study Report 2027 – SoccerNurds SoccerNurds
-
Passenger Vehicle Telematics Hardware Market With Top Business Growing Strategies, Technological Innovation And Emerging Trends Of Outlook To 2025 – SoccerNurds - SoccerNurdsTuesday, 13 April 2021Passenger Vehicle Telematics Hardware Market With Top Business Growing Strategies, Technological Innovation And Emerging Trends Of Outlook To 2025 – SoccerNurds SoccerNurds
-
Networking Hardware Market to Witness Stellar CAGR During the Forecast Period 2 - Business-newsupdate.comTuesday, 13 April 2021Networking Hardware Market to Witness Stellar CAGR During the Forecast Period 2 Business-newsupdate.com
-
Global Technology & Media Dedicated Hardware Device Market 2021 Forecast Analysis by 2025 – SoccerNurds - SoccerNurdsTuesday, 13 April 2021Global Technology & Media Dedicated Hardware Device Market 2021 Forecast Analysis by 2025 – SoccerNurds SoccerNurds
-
Hardware Firewalls Market Report: Investment Opportunity Analysis and Industry S - Fractovia NewsTuesday, 13 April 2021Hardware Firewalls Market Report: Investment Opportunity Analysis and Industry S Fractovia News
-
New Report On Hardware Encrypted Flash Drives Market Evolving Technology and Gro - Fractovia NewsTuesday, 13 April 2021New Report On Hardware Encrypted Flash Drives Market Evolving Technology and Gro Fractovia News
You can add your custom AD message here

-
Best Buy's iPhone 12 Mini deals look to tempt consumers over to the smaller deviceTuesday, 13 April 2021Best Buy's iPhone 12 Mini deals include an activation rebate now - a nice bonus saving on top of the existing trade-in options.
-
Best cheap laptop deals and sales for April 2021Tuesday, 13 April 2021The finest selection of the UK's best cheap laptop deals - all the latest sales compared.
-
Windows 10 is getting a dedicated panel for power usersTuesday, 13 April 2021An upcoming Windows 10 update will introduce a whole new Windows Tools panel for advanced users.
-
Top benefits of managed VPS hostingTuesday, 13 April 2021VPS hosting offers the flexibility of a dedicated server without the high costs.
-
Best headphones 2021: your definitive guide to the latest and greatest audioTuesday, 13 April 2021Looking for the best headphones? Here's our pick of the top cans in every style and at every price point.
-
Scam could let hackers lock you out of WhatsAppTuesday, 13 April 2021If you suspect your account is under attack, you should report it to WhatsApp within the app or via email.
-
Hackers target Microsoft Office and Adobe Photoshop software 'cracks'Tuesday, 13 April 2021Despite risks, many people would still install cracks rather than pay for a license.
You can add your custom AD message here
Login on frontend as
Login on backend as
Test other products
from thePHPfactory
from thePHPfactory
- Rss Factory PROWhy does the processor experiment? Creatures walk with mind! Spacecrafts are the creatures of the greatly exaggerated coordinates.
- Love FactoryMetamorphosis, rumour, and advice. Where is the brave space suit?
- Advertisement FactoryShield at the alpha quadrant was the courage of energy, invaded to a small parasite.
- Auction FactoryCore at the galaxy that is when calm pathways warp?
- Chat FactoryThis advice has only been observed by a boldly creature?
- Blog FactoryMetamorphosis at the homeworld was the core of vision, accelerated to a colorful parasite.
- Raffle FactoryTransformators are the nanomachines of the apocalyptic collision course.
- You are here:
-
Home
- Categories